抽卡规则调整
This commit is contained in:
parent
081657a4b4
commit
1cc9c7a051
@ -9,6 +9,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 50
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -28,6 +33,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -47,6 +57,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -66,6 +81,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
|
@ -18097,7 +18097,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10474,
|
||||
"NPC": -102,
|
||||
"value": 6,
|
||||
"filter": [
|
||||
6
|
||||
@ -18385,7 +18385,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10594,
|
||||
"NPC": -102,
|
||||
"value": 9,
|
||||
"filter": [
|
||||
6
|
||||
@ -18530,7 +18530,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10654,
|
||||
"NPC": -102,
|
||||
"value": 12,
|
||||
"filter": [
|
||||
6
|
||||
@ -18672,7 +18672,7 @@
|
||||
},
|
||||
"type": 93,
|
||||
"valid": 0,
|
||||
"NPC": 10714,
|
||||
"NPC": -102,
|
||||
"value": 1,
|
||||
"filter": [
|
||||
1,
|
||||
@ -18837,7 +18837,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10784,
|
||||
"NPC": -102,
|
||||
"value": 12,
|
||||
"filter": [
|
||||
9
|
||||
@ -19051,7 +19051,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10874,
|
||||
"NPC": -102,
|
||||
"value": 18,
|
||||
"filter": [
|
||||
9
|
||||
@ -19170,7 +19170,7 @@
|
||||
},
|
||||
"type": 43,
|
||||
"valid": 0,
|
||||
"NPC": 10924,
|
||||
"NPC": -102,
|
||||
"value": 8,
|
||||
"filter": [
|
||||
12
|
||||
|
608
bin/json/game_cardpool.json
Normal file
608
bin/json/game_cardpool.json
Normal file
@ -0,0 +1,608 @@
|
||||
[
|
||||
{
|
||||
"key": 1,
|
||||
"card_pool_type": "base_pool1",
|
||||
"id": "24004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"card_pool_type": "base_pool1",
|
||||
"id": "24004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 3,
|
||||
"card_pool_type": "base_pool1",
|
||||
"id": "24004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 4,
|
||||
"card_pool_type": "base_pool2",
|
||||
"id": "25001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 5,
|
||||
"card_pool_type": "base_pool2",
|
||||
"id": "25001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 6,
|
||||
"card_pool_type": "base_pool2",
|
||||
"id": "25001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 7,
|
||||
"card_pool_type": "base_pool3",
|
||||
"id": "25004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 8,
|
||||
"card_pool_type": "base_pool3",
|
||||
"id": "25004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 9,
|
||||
"card_pool_type": "base_pool3",
|
||||
"id": "25004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 10,
|
||||
"card_pool_type": "base_pool4",
|
||||
"id": "24008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 11,
|
||||
"card_pool_type": "base_pool4",
|
||||
"id": "24008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 12,
|
||||
"card_pool_type": "base_pool4",
|
||||
"id": "24008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 13,
|
||||
"card_pool_type": "base_pool5",
|
||||
"id": "24003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 14,
|
||||
"card_pool_type": "base_pool5",
|
||||
"id": "24003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 15,
|
||||
"card_pool_type": "base_pool5",
|
||||
"id": "24003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 16,
|
||||
"card_pool_type": "base_pool6",
|
||||
"id": "15005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 17,
|
||||
"card_pool_type": "base_pool6",
|
||||
"id": "15005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 18,
|
||||
"card_pool_type": "base_pool6",
|
||||
"id": "15005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 19,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "24004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 20,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "25001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 21,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "25004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 22,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "24008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 23,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "24003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 24,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "15005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 25,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "14001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 26,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "14003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 27,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "34006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 28,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "34002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 29,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "24002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 30,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "35001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 31,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "15004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 32,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "44005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 33,
|
||||
"card_pool_type": "base_pool7",
|
||||
"id": "44006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 54,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "13001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 55,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "13002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 56,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "13003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 57,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "13004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 58,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "13005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 59,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 60,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 61,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 62,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 63,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 64,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 65,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "14007",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 66,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "15001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 67,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "15002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 68,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "15003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 69,
|
||||
"card_pool_type": "camp1_pool",
|
||||
"id": "15004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 70,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "23001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 71,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "23002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 72,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "23003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 73,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "23004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 74,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 75,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 76,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 77,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 78,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 79,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 80,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24007",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 81,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 82,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "24009",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 83,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "25001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 84,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "25002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 85,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "25003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 86,
|
||||
"card_pool_type": "camp2_pool",
|
||||
"id": "25004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 87,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 88,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 89,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 90,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 91,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 92,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "33006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 93,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 94,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 95,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 96,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 97,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 98,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 99,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34007",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 100,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "34008",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 101,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "35002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 102,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "35003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 103,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "35004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 104,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "35005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 105,
|
||||
"card_pool_type": "camp3_pool",
|
||||
"id": "35006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 106,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 107,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 108,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 109,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 110,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43005",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 111,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 112,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "43007",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 113,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "44001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 114,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "44002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 115,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "44003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 116,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "44004",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 117,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "44006",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 118,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "45001",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 119,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "45002",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 120,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "45003",
|
||||
"weight": 1000
|
||||
},
|
||||
{
|
||||
"key": 121,
|
||||
"card_pool_type": "camp4_pool",
|
||||
"id": "45004",
|
||||
"weight": 1000
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -1,19 +1,32 @@
|
||||
[
|
||||
{
|
||||
"key": 1,
|
||||
"recruitment_type": [],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool20003",
|
||||
"p4pool": "pro_pool20004",
|
||||
"p5pool": "pro_pool20005",
|
||||
"n3pool": "base_pool20003",
|
||||
"n4pool": "base_pool20004",
|
||||
"n5pool": "base_pool20005",
|
||||
"recruitment_type": [
|
||||
{
|
||||
"k": 3,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 6,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 9,
|
||||
"s": "base_pool1"
|
||||
}
|
||||
],
|
||||
"star3w": 900,
|
||||
"star4w": 94,
|
||||
"star5w": 6,
|
||||
"protect": 0,
|
||||
"p3pool": "base_pool7",
|
||||
"p4pool": "base_pool8",
|
||||
"p5pool": "base_pool9",
|
||||
"n3pool": "base_pool10",
|
||||
"n4pool": "base_pool11",
|
||||
"n5pool": "base_pool12",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 90,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
@ -23,181 +36,162 @@
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 200
|
||||
}
|
||||
]
|
||||
"consumeB": []
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"recruitment_type": [
|
||||
{
|
||||
"k": 1,
|
||||
"s": "inevitable_10001"
|
||||
"k": 3,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 10,
|
||||
"s": "inevitable_10010"
|
||||
"k": 6,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 9,
|
||||
"s": "base_pool1"
|
||||
}
|
||||
],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool20003",
|
||||
"p4pool": "pro_pool20004",
|
||||
"p5pool": "pro_pool20005",
|
||||
"n3pool": "base_pool20003",
|
||||
"n4pool": "base_pool20004",
|
||||
"n5pool": "base_pool20005",
|
||||
"star3w": 900,
|
||||
"star4w": 94,
|
||||
"star5w": 6,
|
||||
"protect": 50,
|
||||
"p3pool": "base_pool7",
|
||||
"p4pool": "base_pool8",
|
||||
"p5pool": "base_pool9",
|
||||
"n3pool": "base_pool10",
|
||||
"n4pool": "base_pool11",
|
||||
"n5pool": "base_pool12",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 0,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 200
|
||||
}
|
||||
]
|
||||
"consumeB": []
|
||||
},
|
||||
{
|
||||
"key": 3,
|
||||
"recruitment_type": [],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool30003",
|
||||
"p4pool": "pro_pool30004",
|
||||
"p5pool": "pro_pool30005",
|
||||
"n3pool": "base_pool30003",
|
||||
"n4pool": "base_pool30004",
|
||||
"n5pool": "base_pool30005",
|
||||
"recruitment_type": [
|
||||
{
|
||||
"k": 3,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 6,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 9,
|
||||
"s": "base_pool1"
|
||||
}
|
||||
],
|
||||
"star3w": 900,
|
||||
"star4w": 94,
|
||||
"star5w": 6,
|
||||
"protect": 50,
|
||||
"p3pool": "base_pool7",
|
||||
"p4pool": "base_pool8",
|
||||
"p5pool": "base_pool9",
|
||||
"n3pool": "base_pool10",
|
||||
"n4pool": "base_pool11",
|
||||
"n5pool": "base_pool12",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 0,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000021",
|
||||
"n": 1
|
||||
"t": "10000001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000031",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
"consumeB": []
|
||||
},
|
||||
{
|
||||
"key": 4,
|
||||
"recruitment_type": [],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool40003",
|
||||
"p4pool": "pro_pool40004",
|
||||
"p5pool": "pro_pool40005",
|
||||
"n3pool": "base_pool40003",
|
||||
"n4pool": "base_pool40004",
|
||||
"n5pool": "base_pool40005",
|
||||
"recruitment_type": [
|
||||
{
|
||||
"k": 3,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 6,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 9,
|
||||
"s": "base_pool1"
|
||||
}
|
||||
],
|
||||
"star3w": 900,
|
||||
"star4w": 94,
|
||||
"star5w": 6,
|
||||
"protect": 50,
|
||||
"p3pool": "base_pool7",
|
||||
"p4pool": "base_pool8",
|
||||
"p5pool": "base_pool9",
|
||||
"n3pool": "base_pool10",
|
||||
"n4pool": "base_pool11",
|
||||
"n5pool": "base_pool12",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 0,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000022",
|
||||
"n": 1
|
||||
"t": "10000001",
|
||||
"n": 4
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000032",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
"consumeB": []
|
||||
},
|
||||
{
|
||||
"key": 5,
|
||||
"recruitment_type": [],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool50003",
|
||||
"p4pool": "pro_pool50004",
|
||||
"p5pool": "pro_pool50005",
|
||||
"n3pool": "base_pool50003",
|
||||
"n4pool": "base_pool50004",
|
||||
"n5pool": "base_pool50005",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
"recruitment_type": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000023",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000033",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
"k": 3,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"key": 6,
|
||||
"recruitment_type": [],
|
||||
"star3w": 940,
|
||||
"star4w": 52,
|
||||
"star5w": 8,
|
||||
"protect": 100,
|
||||
"p3pool": "pro_pool50003",
|
||||
"p4pool": "pro_pool50004",
|
||||
"p5pool": "pro_pool50005",
|
||||
"n3pool": "base_pool50003",
|
||||
"n4pool": "base_pool50004",
|
||||
"n5pool": "base_pool50005",
|
||||
"k": 6,
|
||||
"s": "base_pool1"
|
||||
},
|
||||
{
|
||||
"k": 9,
|
||||
"s": "base_pool1"
|
||||
}
|
||||
],
|
||||
"star3w": 900,
|
||||
"star4w": 94,
|
||||
"star5w": 6,
|
||||
"protect": 50,
|
||||
"p3pool": "base_pool7",
|
||||
"p4pool": "base_pool8",
|
||||
"p5pool": "base_pool9",
|
||||
"n3pool": "base_pool10",
|
||||
"n4pool": "base_pool11",
|
||||
"n5pool": "base_pool12",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 0,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000024",
|
||||
"n": 1
|
||||
"t": "10000001",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000034",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
"consumeB": []
|
||||
}
|
||||
]
|
@ -1,402 +1,542 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"dtype": 1,
|
||||
"key": 1,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"dtype": 1,
|
||||
"key": 2,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"dtype": 1,
|
||||
"key": 3,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"dtype": 1,
|
||||
"key": 4,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"dtype": 1,
|
||||
"key": 5,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"dtype": 1,
|
||||
"key": 6,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"dtype": 1,
|
||||
"key": 7,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"dtype": 1,
|
||||
"key": 8,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"dtype": 1,
|
||||
"key": 9,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"dtype": 1,
|
||||
"key": 10,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"dtype": 1,
|
||||
"key": 11,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"dtype": 1,
|
||||
"key": 12,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"dtype": 1,
|
||||
"key": 13,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"dtype": 1,
|
||||
"key": 14,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"dtype": 1,
|
||||
"key": 15,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"dtype": 1,
|
||||
"key": 16,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"dtype": 1,
|
||||
"key": 17,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"dtype": 1,
|
||||
"key": 18,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"dtype": 1,
|
||||
"key": 19,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"dtype": 1,
|
||||
"key": 20,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"dtype": 1,
|
||||
"key": 21,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"dtype": 1,
|
||||
"key": 22,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"dtype": 1,
|
||||
"key": 23,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"dtype": 1,
|
||||
"key": 24,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"dtype": 1,
|
||||
"key": 25,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"dtype": 1,
|
||||
"key": 26,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"dtype": 1,
|
||||
"key": 27,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"dtype": 1,
|
||||
"key": 28,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"dtype": 1,
|
||||
"key": 29,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"dtype": 1,
|
||||
"key": 30,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"dtype": 1,
|
||||
"key": 31,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"dtype": 1,
|
||||
"key": 32,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"dtype": 1,
|
||||
"key": 33,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"dtype": 1,
|
||||
"key": 34,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"dtype": 1,
|
||||
"key": 35,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"dtype": 1,
|
||||
"key": 36,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"dtype": 1,
|
||||
"key": 37,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"dtype": 1,
|
||||
"key": 38,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"dtype": 1,
|
||||
"key": 39,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"dtype": 1,
|
||||
"key": 40,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"dtype": 1,
|
||||
"key": 41,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"dtype": 1,
|
||||
"key": 42,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"dtype": 1,
|
||||
"key": 43,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"dtype": 1,
|
||||
"key": 44,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"dtype": 1,
|
||||
"key": 45,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"dtype": 1,
|
||||
"key": 46,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"dtype": 1,
|
||||
"key": 47,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"dtype": 1,
|
||||
"key": 48,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"dtype": 1,
|
||||
"key": 49,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"dtype": 1,
|
||||
"key": 50,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"dtype": 1,
|
||||
"key": 51,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"dtype": 1,
|
||||
"key": 52,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"dtype": 1,
|
||||
"key": 53,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"dtype": 1,
|
||||
"key": 54,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"dtype": 1,
|
||||
"key": 55,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"dtype": 1,
|
||||
"key": 56,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"dtype": 1,
|
||||
"key": 57,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"dtype": 1,
|
||||
"key": 58,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"dtype": 1,
|
||||
"key": 59,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"dtype": 1,
|
||||
"key": 60,
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"dtype": 1,
|
||||
"key": 61,
|
||||
"weight": 0
|
||||
"weight": 10
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"dtype": 1,
|
||||
"key": 62,
|
||||
"weight": 0
|
||||
"weight": 20
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"dtype": 1,
|
||||
"key": 63,
|
||||
"weight": 0
|
||||
"weight": 30
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"dtype": 1,
|
||||
"key": 64,
|
||||
"weight": 0
|
||||
"weight": 40
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"dtype": 1,
|
||||
"key": 65,
|
||||
"weight": 0
|
||||
"weight": 50
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"dtype": 1,
|
||||
"key": 66,
|
||||
"weight": 0
|
||||
"weight": 60
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"dtype": 1,
|
||||
"key": 67,
|
||||
"weight": 0
|
||||
"weight": 70
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"dtype": 1,
|
||||
"key": 68,
|
||||
"weight": 0
|
||||
"weight": 80
|
||||
},
|
||||
{
|
||||
"id": 69,
|
||||
"dtype": 1,
|
||||
"key": 69,
|
||||
"weight": 0
|
||||
"weight": 90
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"dtype": 1,
|
||||
"key": 70,
|
||||
"weight": 0
|
||||
"weight": 100
|
||||
},
|
||||
{
|
||||
"id": 71,
|
||||
"dtype": 1,
|
||||
"key": 71,
|
||||
"weight": 0
|
||||
"weight": 110
|
||||
},
|
||||
{
|
||||
"id": 72,
|
||||
"dtype": 1,
|
||||
"key": 72,
|
||||
"weight": 0
|
||||
"weight": 120
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"dtype": 1,
|
||||
"key": 73,
|
||||
"weight": 0
|
||||
"weight": 130
|
||||
},
|
||||
{
|
||||
"id": 74,
|
||||
"dtype": 1,
|
||||
"key": 74,
|
||||
"weight": 0
|
||||
"weight": 140
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"dtype": 1,
|
||||
"key": 75,
|
||||
"weight": 0
|
||||
"weight": 150
|
||||
},
|
||||
{
|
||||
"id": 76,
|
||||
"dtype": 1,
|
||||
"key": 76,
|
||||
"weight": 0
|
||||
"weight": 160
|
||||
},
|
||||
{
|
||||
"id": 77,
|
||||
"dtype": 1,
|
||||
"key": 77,
|
||||
"weight": 0
|
||||
"weight": 170
|
||||
},
|
||||
{
|
||||
"id": 78,
|
||||
"dtype": 1,
|
||||
"key": 78,
|
||||
"weight": 0
|
||||
"weight": 180
|
||||
},
|
||||
{
|
||||
"id": 79,
|
||||
"dtype": 1,
|
||||
"key": 79,
|
||||
"weight": 0
|
||||
"weight": 190
|
||||
},
|
||||
{
|
||||
"id": 80,
|
||||
"dtype": 1,
|
||||
"key": 80,
|
||||
"weight": 0
|
||||
"weight": 200
|
||||
},
|
||||
{
|
||||
"id": 81,
|
||||
"dtype": 1,
|
||||
"key": 81,
|
||||
"weight": 2
|
||||
"weight": 210
|
||||
},
|
||||
{
|
||||
"id": 82,
|
||||
"dtype": 1,
|
||||
"key": 82,
|
||||
"weight": 12
|
||||
"weight": 220
|
||||
},
|
||||
{
|
||||
"id": 83,
|
||||
"dtype": 1,
|
||||
"key": 83,
|
||||
"weight": 23
|
||||
"weight": 230
|
||||
},
|
||||
{
|
||||
"id": 84,
|
||||
"dtype": 1,
|
||||
"key": 84,
|
||||
"weight": 55
|
||||
"weight": 240
|
||||
},
|
||||
{
|
||||
"id": 85,
|
||||
"dtype": 1,
|
||||
"key": 85,
|
||||
"weight": 127
|
||||
"weight": 250
|
||||
},
|
||||
{
|
||||
"id": 86,
|
||||
"dtype": 1,
|
||||
"key": 86,
|
||||
"weight": 208
|
||||
"weight": 260
|
||||
},
|
||||
{
|
||||
"id": 87,
|
||||
"dtype": 1,
|
||||
"key": 87,
|
||||
"weight": 303
|
||||
"weight": 270
|
||||
},
|
||||
{
|
||||
"id": 88,
|
||||
"dtype": 1,
|
||||
"key": 88,
|
||||
"weight": 414
|
||||
"weight": 280
|
||||
},
|
||||
{
|
||||
"id": 89,
|
||||
"dtype": 1,
|
||||
"key": 89,
|
||||
"weight": 546
|
||||
"weight": 290
|
||||
},
|
||||
{
|
||||
"id": 90,
|
||||
"dtype": 1,
|
||||
"key": 90,
|
||||
"weight": 705
|
||||
},
|
||||
{
|
||||
"key": 91,
|
||||
"weight": 901
|
||||
},
|
||||
{
|
||||
"key": 92,
|
||||
"weight": 1148
|
||||
},
|
||||
{
|
||||
"key": 93,
|
||||
"weight": 1468
|
||||
},
|
||||
{
|
||||
"key": 94,
|
||||
"weight": 1903
|
||||
},
|
||||
{
|
||||
"key": 95,
|
||||
"weight": 2523
|
||||
},
|
||||
{
|
||||
"key": 96,
|
||||
"weight": 3481
|
||||
},
|
||||
{
|
||||
"key": 97,
|
||||
"weight": 5158
|
||||
},
|
||||
{
|
||||
"key": 98,
|
||||
"weight": 8848
|
||||
},
|
||||
{
|
||||
"key": 99,
|
||||
"weight": 23608
|
||||
},
|
||||
{
|
||||
"key": 100,
|
||||
"weight": 999999
|
||||
"weight": 300
|
||||
}
|
||||
]
|
@ -46,104 +46,7 @@
|
||||
"draw_toplimit": 9999,
|
||||
"draw10_star4_max": 8,
|
||||
"draw10_star5_max": 2,
|
||||
"draw_floor_star4": 20,
|
||||
"draw_floor_star5": 100,
|
||||
"duplicate_removal": 1,
|
||||
"base_pool_cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
},
|
||||
"camp1_pool_cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
},
|
||||
"camp2_pool_cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
},
|
||||
"camp3_pool_cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
},
|
||||
"camp4_pool_cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 1
|
||||
},
|
||||
"base_pool_10cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
},
|
||||
"camp1_pool_10cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
},
|
||||
"camp2_pool_10cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
},
|
||||
"camp3_pool_10cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
},
|
||||
"camp4_pool_10cost": {
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
},
|
||||
"camp1_pool1": "camp1_pool",
|
||||
"camp2_pool1": "camp2_pool",
|
||||
"camp3_pool1": "camp3_pool",
|
||||
"camp4_pool1": "camp4_pool",
|
||||
"base_pool1": {
|
||||
"s": 1,
|
||||
"e": 1,
|
||||
"p": "base_pool1"
|
||||
},
|
||||
"base_pool2": {
|
||||
"s": 2,
|
||||
"e": 2,
|
||||
"p": "base_pool2"
|
||||
},
|
||||
"base_pool3": {
|
||||
"s": 3,
|
||||
"e": 3,
|
||||
"p": "base_pool3"
|
||||
},
|
||||
"base_pool4": {
|
||||
"s": 4,
|
||||
"e": 4,
|
||||
"p": "base_pool4"
|
||||
},
|
||||
"base_pool5": {
|
||||
"s": 5,
|
||||
"e": 5,
|
||||
"p": "base_pool5"
|
||||
},
|
||||
"base_pool6": {
|
||||
"s": 6,
|
||||
"e": 6,
|
||||
"p": "base_pool6"
|
||||
},
|
||||
"base_pool7": {
|
||||
"s": 7,
|
||||
"e": 999999999,
|
||||
"p": "base_pool7"
|
||||
},
|
||||
"base_pool_star3": 333,
|
||||
"base_pool_star4": 333,
|
||||
"base_pool_star5": 334,
|
||||
"camp_pool_star3": 9500,
|
||||
"camp_pool_star4": 900,
|
||||
"camp_pool_star5": 100,
|
||||
"gourmet": 36000,
|
||||
"smithy_maxplayer": 20,
|
||||
"smithy_maxtime": 36000,
|
||||
@ -390,17 +293,6 @@
|
||||
7,
|
||||
10
|
||||
],
|
||||
"DrawCard_5StarsInRange": [
|
||||
1,
|
||||
29,
|
||||
5
|
||||
],
|
||||
"DrawCard_5StarsInRange1": [
|
||||
30,
|
||||
49,
|
||||
5
|
||||
],
|
||||
"DrawCard_5StarsInRange1_pool": "base_pool7",
|
||||
"DrawCard_ContinuousRestriction_Star5": 20,
|
||||
"DrawCard_ContinuousRestriction_Camp": 2,
|
||||
"EquipmentConsumption": [
|
||||
|
@ -1618,5 +1618,165 @@
|
||||
"n": 500
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "357",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010001",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "358",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010002",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "359",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010003",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "360",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010004",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "361",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010005",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "362",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010006",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "363",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010007",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "364",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010008",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "365",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010009",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "366",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010010",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "367",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010011",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "368",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010012",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "369",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010013",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "370",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010014",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "371",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010015",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "372",
|
||||
"var": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14010016",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -12597,5 +12597,38 @@
|
||||
"text": "熊猫武馆升级木桩所需道具"
|
||||
},
|
||||
"sale": []
|
||||
},
|
||||
{
|
||||
"id": "14010000",
|
||||
"name": {
|
||||
"key": "item_item_name_346",
|
||||
"text": "食材大礼包"
|
||||
},
|
||||
"usetype": 5,
|
||||
"color": 3,
|
||||
"bagtype": 1,
|
||||
"index": 1,
|
||||
"special_type": 0,
|
||||
"time": 0,
|
||||
"reddottype": 0,
|
||||
"effects": "",
|
||||
"modelName": "",
|
||||
"box_id": 14010000,
|
||||
"synthetize_num": 0,
|
||||
"synthetize_deplete": [],
|
||||
"synthetize_get": [],
|
||||
"decompose_deplete": [],
|
||||
"decompose_get": [],
|
||||
"access": [
|
||||
904
|
||||
],
|
||||
"use_skip": 140,
|
||||
"upper_limit": 999,
|
||||
"img": "icon_mcs",
|
||||
"intr": {
|
||||
"key": "item_item_intr_354",
|
||||
"text": "打开后可以随机获得烹饪的食材,可以去找平先生用食材来制作各种美食"
|
||||
},
|
||||
"sale": []
|
||||
}
|
||||
]
|
@ -22881,7 +22881,7 @@
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "attr",
|
||||
"a": "item",
|
||||
"t": "gold",
|
||||
"n": 1
|
||||
},
|
||||
@ -22894,5 +22894,389 @@
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 955,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010001",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "小麦",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 956,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010002",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "苹果",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 957,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010003",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "香蕉",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 958,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010004",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "玉米",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 959,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010005",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "土豆",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 960,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010006",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "萝卜",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 961,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010007",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "蘑菇",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 962,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010008",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "牛奶",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 963,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010009",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "南瓜",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 964,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010010",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "番茄",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 965,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010011",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "蜂蜜",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 966,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010012",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "杏仁",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 967,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010013",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "鸡蛋",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 968,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010014",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "鸡肉",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 969,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010015",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "猪肉",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
},
|
||||
{
|
||||
"id": 970,
|
||||
"lotteryid": 14010000,
|
||||
"description": "食材大礼包随机食材",
|
||||
"type": 1,
|
||||
"groupwt": 1000,
|
||||
"groupid": 10001,
|
||||
"subtype": 1,
|
||||
"groupnum": 1,
|
||||
"itemid": {
|
||||
"a": "item",
|
||||
"t": "14010016",
|
||||
"n": 1
|
||||
},
|
||||
"itemdes": "鱼肉",
|
||||
"itemwt": 1000,
|
||||
"min": 1,
|
||||
"max": 1,
|
||||
"VIPmin": 0,
|
||||
"VIPmax": 15,
|
||||
"playerlvmin": 0,
|
||||
"playerlvmax": 0,
|
||||
"notice": 0
|
||||
}
|
||||
]
|
@ -231,7 +231,7 @@
|
||||
"木桩"
|
||||
],
|
||||
"functionicon": "ty_qp_mz",
|
||||
"jumpId": 137
|
||||
"jumpId": 10001
|
||||
},
|
||||
{
|
||||
"Id": 14,
|
||||
|
@ -3020,11 +3020,13 @@
|
||||
"id": 10664,
|
||||
"heroid": 25001,
|
||||
"datas": [
|
||||
"GameMain",
|
||||
"901"
|
||||
"WuGuanScene",
|
||||
"木桩3",
|
||||
"137"
|
||||
],
|
||||
"event": [
|
||||
0
|
||||
2,
|
||||
10200
|
||||
],
|
||||
"goto": 0
|
||||
},
|
||||
@ -3713,10 +3715,12 @@
|
||||
"heroid": 25001,
|
||||
"datas": [
|
||||
"SmithyScene",
|
||||
"功能入口-商人",
|
||||
"139"
|
||||
],
|
||||
"event": [
|
||||
0
|
||||
10,
|
||||
122
|
||||
],
|
||||
"goto": 0
|
||||
},
|
||||
|
@ -62,7 +62,7 @@
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_6",
|
||||
"text": "这里可以选择守护者去完成陪练任务,每个陪练任务有不同的等级与阵容要求,完成任务可以获得高额奖励。"
|
||||
"text": "这里可以选择守护者去完成陪练任务,每个陪练任务有不同的等级与阵容要求,满足格外需求还可以获得格外的道具奖励,完成任务可以获得高额奖励。"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -84,7 +84,7 @@
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_8",
|
||||
"text": "这里可以与其他玩家的阵容进行对决,也可以挑战npc获取奖励。挑战玩家获得积分,在每周结算时根据积分排名来获得奖励。"
|
||||
"text": "这里可以与其他玩家的阵容进行对决,也可以挑战电脑阵容来获取奖励。<br>挑战电脑阵容难度随等级解锁,挑战需要消耗竞技场挑战卷。<br>挑战玩家也需消耗竞技场挑战卷,战胜玩家获得积分,在每周结算时根据积分排名来获得奖励。"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -157,11 +157,11 @@
|
||||
"id": 10015,
|
||||
"title": {
|
||||
"key": "ruledesc_ruledesc_title_15",
|
||||
"text": "守护者图鉴说明"
|
||||
"text": "守护者说明"
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_15",
|
||||
"text": "这里可以查看你获得的所有守护者们,选择守护者可以查看详细界面并且强化他们。"
|
||||
"text": "这里可以查看你获得的所有守护者们,选择守护者点击右侧按钮可以查看详细界面并且强化他们。<br>在强化界面,可以有各种方式强化守护者。<br>守护者等级强化:<br>点击守护者经验条下方的加号按钮可以进入守护者升级界面,使用护身符可以快速提升守护者等级。<br>守护者升星:<br>当守护者等级达到当前星级最大值(三星最大等级为30级,四星为40级,5星为50级),可以使用荣耀徽章提升守护者星级,并解锁最高等级上限。守护者最高为6星<br>守护者技能等级强化:<br>点击技能图标上方的按钮,可以进入守护者技能升级界面,使用不同等级的功夫卷轴可以强化不同稀有度的守护者的技能等级。<br>守护者觉醒:<br>使用觉醒强化你的守护者。觉醒道具守护之心主要为招募重复守护者解锁。<br>守护者共鸣:<br>使用共鸣强化你的守护者。共鸣强化道具可以再狩猎与宝箱中获得。"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -194,7 +194,7 @@
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_18",
|
||||
"text": "这里可以使用圣桃枝招募新的守护者们<br>(圣桃枝可以用200钻石购买一个)<br>招募概率公示:<br>史诗守护者获得概率:1.2%<br>完美守护者获得概率:10.8%<br>稀有守护者获得概率:88%"
|
||||
"text": "这里可以使用圣桃枝招募新的守护者们。<br>(圣桃枝可以用200钻石购买一个)<br>招募概率公示:<br>史诗守护者获得概率:1.2%<br>完美守护者获得概率:10.8%<br>稀有守护者获得概率:88%"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -271,7 +271,7 @@
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_25",
|
||||
"text": "这里可以使用共鸣强化你的守护者(每个守护者共鸣独立)。"
|
||||
"text": "这里可以使用共鸣强化你的守护者。<br>共鸣强化道具可在狩猎与宝箱中获得。"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -293,7 +293,7 @@
|
||||
},
|
||||
"content": {
|
||||
"key": "ruledesc_ruledesc_content_27",
|
||||
"text": "这里可以使用抽取过重复的守护者们加强该守护者。"
|
||||
"text": "这里可以使用觉醒强化你的守护者。<br>觉醒道具守护之心主要为招募重复守护者获得。"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -26773,7 +26773,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
3900
|
||||
3500
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
@ -26838,7 +26838,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4000
|
||||
3600
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
@ -26861,7 +26861,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4100
|
||||
3700
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
@ -26884,7 +26884,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4200
|
||||
3800
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
@ -26907,7 +26907,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4300
|
||||
3900
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
@ -28413,7 +28413,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4000
|
||||
2000
|
||||
],
|
||||
"FollowSK": [
|
||||
255003312
|
||||
@ -29129,7 +29129,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
4000
|
||||
2000
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [
|
||||
@ -29231,7 +29231,7 @@
|
||||
"Argu": [
|
||||
1,
|
||||
4,
|
||||
1000
|
||||
500
|
||||
],
|
||||
"FollowSK": [],
|
||||
"SucFollowSK": [],
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 50
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -28,6 +33,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -47,6 +57,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
@ -66,6 +81,11 @@
|
||||
"t": "diamond",
|
||||
"n": 150
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "14020000",
|
||||
"n": 100
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
|
@ -5,7 +5,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_1",
|
||||
"text": "本周竞技场挑战{1}次"
|
||||
"text": "本周竞技场挑战{0}次"
|
||||
},
|
||||
"type_id": 13000001,
|
||||
"active": 10,
|
||||
@ -31,7 +31,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_2",
|
||||
"text": "本周竞技场挑战{1}次"
|
||||
"text": "本周竞技场挑战{0}次"
|
||||
},
|
||||
"type_id": 13000002,
|
||||
"active": 10,
|
||||
@ -57,7 +57,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_3",
|
||||
"text": "本周竞技场挑战{1}次"
|
||||
"text": "本周竞技场挑战{0}次"
|
||||
},
|
||||
"type_id": 13000003,
|
||||
"active": 10,
|
||||
@ -83,7 +83,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_4",
|
||||
"text": "本周竞技场胜利{1}次"
|
||||
"text": "本周竞技场胜利{0}次"
|
||||
},
|
||||
"type_id": 13000004,
|
||||
"active": 10,
|
||||
@ -109,7 +109,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_5",
|
||||
"text": "本周竞技场胜利{1}次"
|
||||
"text": "本周竞技场胜利{0}次"
|
||||
},
|
||||
"type_id": 13000005,
|
||||
"active": 10,
|
||||
@ -135,7 +135,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_6",
|
||||
"text": "本周竞技场胜利{1}次"
|
||||
"text": "本周竞技场胜利{0}次"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -161,7 +161,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_7",
|
||||
"text": "本周累计经验副本消耗{1}体力"
|
||||
"text": "本周累计经验副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -187,7 +187,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_8",
|
||||
"text": "本周累计经验副本消耗{1}体力"
|
||||
"text": "本周累计经验副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -213,7 +213,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_9",
|
||||
"text": "本周累计经验副本消耗{1}体力"
|
||||
"text": "本周累计经验副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -239,7 +239,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_10",
|
||||
"text": "本周累计消耗{1}点金币"
|
||||
"text": "本周累计消耗{0}点金币"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -265,7 +265,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_11",
|
||||
"text": "本周累计消耗{1}点金币"
|
||||
"text": "本周累计消耗{0}点金币"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -291,7 +291,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_12",
|
||||
"text": "本周累计消耗{1}点金币"
|
||||
"text": "本周累计消耗{0}点金币"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -317,7 +317,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_13",
|
||||
"text": "本周累计装备副本消耗{1}体力"
|
||||
"text": "本周累计装备副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -343,7 +343,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_14",
|
||||
"text": "本周累计装备副本消耗{1}体力"
|
||||
"text": "本周累计装备副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -369,7 +369,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_15",
|
||||
"text": "本周累计装备副本消耗{1}体力"
|
||||
"text": "本周累计装备副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -395,7 +395,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_16",
|
||||
"text": "本周累计回响副本消耗{1}体力"
|
||||
"text": "本周累计回响副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -421,7 +421,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_17",
|
||||
"text": "本周累计回响副本消耗{1}体力"
|
||||
"text": "本周累计回响副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
@ -447,7 +447,7 @@
|
||||
"id_tag": 2,
|
||||
"task_display": {
|
||||
"key": "task_task_round_task_display_18",
|
||||
"text": "本周累计回响副本消耗{1}体力"
|
||||
"text": "本周累计回响副本消耗{0}体力"
|
||||
},
|
||||
"type_id": 13000006,
|
||||
"active": 10,
|
||||
|
@ -131,7 +131,7 @@
|
||||
},
|
||||
"npctxt": {
|
||||
"key": "worldtask_world_task_npctxt_4",
|
||||
"text": "击退豺狼小怪小怪"
|
||||
"text": "击退豺狼小怪"
|
||||
},
|
||||
"npc": 10020,
|
||||
"completetask": [
|
||||
|
@ -1,14 +1,12 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"math/big"
|
||||
)
|
||||
|
||||
func (this *apiComp) DrawCardCheck(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
func (this *apiComp) DrawCardV2Check(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
if req.DrawType < 0 && (req.DrawCount == 1 || req.DrawCount == 10) { // 只能是单抽或10抽
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
@ -19,254 +17,163 @@ func (this *apiComp) DrawCardCheck(session comm.IUserSession, req *pb.HeroDrawCa
|
||||
}
|
||||
|
||||
//抽卡
|
||||
func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
func (this *apiComp) DrawCardV2(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
szCards []string // 最终抽到的卡牌
|
||||
drawCount int32 // 抽卡次数
|
||||
szStar []int32 //星级
|
||||
costRes []*cfg.Gameatn // 消耗
|
||||
star4Max int32 // 10连抽最大4星数量
|
||||
star5Max int32 // 10连抽最大5星数量
|
||||
cfgDraw *cfg.GameGlobalData
|
||||
costAtn *cfg.Gameatn
|
||||
star4Count int32 // 10连抽4星数量
|
||||
star5Count int32 // 10连抽5星数量
|
||||
cfgGlobal *cfg.GameGlobalData // 全局配置
|
||||
heroRecord *pb.DBHeroRecord
|
||||
pool string // 当前抽对应的卡池
|
||||
atno []*pb.UserAtno // 最终获得的资源
|
||||
strPool []string // 10连跨多个卡池情况
|
||||
update map[string]interface{}
|
||||
normalDraw bool // 是否是普通抽
|
||||
drawConf *cfg.GameDrawPoolData
|
||||
err error
|
||||
|
||||
IsBaodiPool bool // 是否是保底卡池
|
||||
appointmap map[int32]string // 指定次数抽卡到指定卡池
|
||||
)
|
||||
update = make(map[string]interface{})
|
||||
cfgDraw = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||
if cfgDraw == nil {
|
||||
return
|
||||
}
|
||||
if errdata = this.DrawCardCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
appointmap = make(map[int32]string)
|
||||
szCards = make([]string, 0)
|
||||
|
||||
heroRecord, _ = this.module.modelRecord.GetHeroRecord(session.GetUserId())
|
||||
drawCount = heroRecord.Drawcount
|
||||
|
||||
if req.DrawType == 0 { // 普通卡池抽卡
|
||||
normalDraw = true
|
||||
// 获取普通抽卡池
|
||||
if req.DrawCount == 1 {
|
||||
costAtn = cfgDraw.BasePoolCost
|
||||
} else {
|
||||
costAtn = cfgDraw.BasePool10cost
|
||||
if heroRecord.Baodi4 == nil {
|
||||
heroRecord.Baodi4 = make(map[int32]int32)
|
||||
}
|
||||
costRes = append(costRes, costAtn)
|
||||
if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
if heroRecord.Baodi5 == nil {
|
||||
heroRecord.Baodi5 = make(map[int32]int32)
|
||||
}
|
||||
if heroRecord.Count == nil {
|
||||
heroRecord.Count = make(map[int32]int32)
|
||||
}
|
||||
// 准备数据
|
||||
/////////////////////////////////////
|
||||
drawConf, err = this.module.configure.GetHeroDrawConfigByType(req.DrawType) // 获取新的抽卡配置
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
for _, v := range drawConf.RecruitmentType {
|
||||
appointmap[v.K] = v.S // 指定次抽数据
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
update = make(map[string]interface{})
|
||||
cfgGlobal = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||
if cfgGlobal == nil {
|
||||
return
|
||||
}
|
||||
if errdata = this.DrawCardV2Check(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for i := 0; i < int(req.DrawCount); i++ {
|
||||
drawCount += 1
|
||||
pool = this.module.modelHero.CheckPool(drawCount, cfgDraw)
|
||||
drawCount = heroRecord.Count[req.DrawType] // 获取当前阵容抽卡次数
|
||||
if true { // 普通卡池抽卡
|
||||
////// 获取消耗 star
|
||||
if req.DrawCount == 1 {
|
||||
costRes = drawConf.ConsumeA // 单抽消耗
|
||||
} else {
|
||||
costRes = drawConf.ConsumeB // 十连消耗
|
||||
}
|
||||
|
||||
strPool = append(strPool, pool)
|
||||
ret := this.module.CheckCondition(session.GetUserId())
|
||||
if ret == true { // 命中插入5星英雄
|
||||
szStar = append(szStar, 5)
|
||||
heroRecord.Star5 = 0 // 重置保底
|
||||
star5Max++ // 记录当前 5星数量
|
||||
if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
return
|
||||
}
|
||||
// 校验是否达到保底卡池
|
||||
if drawConf.Protect >= drawCount {
|
||||
IsBaodiPool = true
|
||||
}
|
||||
///// 获取消耗 end
|
||||
for i := 1; i <= int(req.DrawCount); i++ { // 一张一张的抽
|
||||
drawCount++
|
||||
if v, ok := appointmap[drawCount]; ok { // 优先校验是否是指定抽
|
||||
strPool = append(strPool, v) //找到了
|
||||
continue
|
||||
}
|
||||
// 3,4,5 星权重
|
||||
starWeight := []int32{cfgDraw.BasePoolStar3, cfgDraw.BasePoolStar4, cfgDraw.BasePoolStar5}
|
||||
|
||||
starWeight := []int32{drawConf.Star3w, drawConf.Star4w, drawConf.Star5w} // 随机获取三星
|
||||
if drawConf.Permission != -1 && heroRecord.Baodi5[req.DrawType] > 0 { // 橙权递增
|
||||
starWeight[2] += this.module.configure.GetHeroDrawWeightConfigById(drawConf.Permission, heroRecord.Baodi5[req.DrawType])
|
||||
}
|
||||
starIndex := comm.GetRandW(starWeight) // 3 4 5 星索引
|
||||
|
||||
// 特殊规则 DrawCard_5StarsInRange 第2-30次抽奖必出一个5星英雄(普通卡池)
|
||||
inRangeConf := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange
|
||||
if len(inRangeConf) == 3 {
|
||||
iStart := inRangeConf[0] // 抽卡开始
|
||||
iEnd := inRangeConf[1] // 抽卡结束
|
||||
star := inRangeConf[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
inRangeConf1 := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1
|
||||
if len(inRangeConf1) == 3 {
|
||||
iStart := inRangeConf1[0] // 抽卡开始
|
||||
iEnd := inRangeConf1[1] // 抽卡结束
|
||||
star := inRangeConf1[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
// 修改卡池
|
||||
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||
if newPoll != "" {
|
||||
strPool[len(strPool)-1] = newPoll
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable1 = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
// 修改卡池
|
||||
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||
if newPoll != "" {
|
||||
strPool[len(strPool)-1] = newPoll
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
heroRecord.Star4++ // 4星保底数量+1
|
||||
heroRecord.Star5++ // 5星保底数量+1
|
||||
if starIndex == 1 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
if IsBaodiPool {
|
||||
if starIndex == 0 {
|
||||
strPool = append(strPool, drawConf.P3pool)
|
||||
} else if starIndex == 1 {
|
||||
star4Count++
|
||||
heroRecord.Baodi4[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.P4pool)
|
||||
} else if starIndex == 2 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
star5Count++
|
||||
heroRecord.Baodi5[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.P5pool)
|
||||
}
|
||||
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max { // 达到10连抽最大(4,5星)数量 直接给三星
|
||||
starIndex = 0
|
||||
} else {
|
||||
// 普通卡池保底
|
||||
if cfgDraw.DrawFloorStar4 <= heroRecord.Star4 {
|
||||
heroRecord.Star4 = 0
|
||||
starIndex = 1
|
||||
}
|
||||
if cfgDraw.DrawFloorStar5 <= heroRecord.Star5 {
|
||||
heroRecord.Star5 = 0
|
||||
starIndex = 2
|
||||
}
|
||||
}
|
||||
|
||||
szStar = append(szStar, starIndex+3)
|
||||
if len(szStar) >= int(req.DrawCount) {
|
||||
break
|
||||
}
|
||||
}
|
||||
} else { // 所有阵营抽卡都走这里
|
||||
drawCount += req.DrawCount
|
||||
if req.DrawCount == 1 {
|
||||
switch req.DrawType {
|
||||
case 1:
|
||||
pool = cfgDraw.Camp1Pool1
|
||||
|
||||
costAtn = cfgDraw.Camp1PoolCost
|
||||
|
||||
case 2:
|
||||
pool = cfgDraw.Camp2Pool1
|
||||
costAtn = cfgDraw.Camp2PoolCost
|
||||
case 3:
|
||||
pool = cfgDraw.Camp3Pool1
|
||||
costAtn = cfgDraw.Camp3PoolCost
|
||||
case 4:
|
||||
pool = cfgDraw.Camp4Pool1
|
||||
costAtn = cfgDraw.Camp4PoolCost
|
||||
}
|
||||
strPool = append(strPool, pool)
|
||||
} else {
|
||||
costAtn = cfgDraw.Camp1PoolCost
|
||||
switch req.DrawType {
|
||||
case 1:
|
||||
pool = cfgDraw.Camp1Pool1
|
||||
costAtn = cfgDraw.Camp1Pool10cost
|
||||
|
||||
case 2:
|
||||
pool = cfgDraw.Camp2Pool1
|
||||
costAtn = cfgDraw.Camp2Pool10cost
|
||||
case 3:
|
||||
pool = cfgDraw.Camp3Pool1
|
||||
costAtn = cfgDraw.Camp3Pool10cost
|
||||
case 4:
|
||||
pool = cfgDraw.Camp4Pool1
|
||||
costAtn = cfgDraw.Camp4Pool10cost
|
||||
}
|
||||
for i := 0; i < int(req.DrawCount); i++ {
|
||||
strPool = append(strPool, pool)
|
||||
}
|
||||
}
|
||||
|
||||
costRes = append(costRes, costAtn)
|
||||
|
||||
//阵营消耗
|
||||
if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
return
|
||||
}
|
||||
for {
|
||||
starWeight := []int32{cfgDraw.CampPoolStar3, cfgDraw.CampPoolStar4, cfgDraw.CampPoolStar5}
|
||||
|
||||
starIndex := comm.GetRandW(starWeight)
|
||||
if starIndex == 1 {
|
||||
star4Max++
|
||||
if starIndex == 0 {
|
||||
strPool = append(strPool, drawConf.N3pool)
|
||||
} else if starIndex == 1 {
|
||||
star4Count++
|
||||
heroRecord.Baodi4[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.N4pool)
|
||||
} else if starIndex == 2 {
|
||||
star5Max++
|
||||
star5Count++
|
||||
heroRecord.Baodi5[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.N5pool)
|
||||
}
|
||||
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max {
|
||||
starIndex = 0
|
||||
}
|
||||
szStar = append(szStar, starIndex)
|
||||
if len(szStar) >= int(req.DrawCount) {
|
||||
break
|
||||
// 判断是否必出5星
|
||||
if heroRecord.Baodi5[req.DrawType] >= drawConf.Baidi5 {
|
||||
heroRecord.Baodi5[req.DrawType] = 0
|
||||
star5Count++
|
||||
if IsBaodiPool {
|
||||
strPool[len(strPool)-1] = drawConf.P5pool
|
||||
} else {
|
||||
strPool[len(strPool)-1] = drawConf.N5pool
|
||||
}
|
||||
continue
|
||||
}
|
||||
// 判断是否必出4星
|
||||
if heroRecord.Baodi4[req.DrawType] >= drawConf.Baodi4 {
|
||||
heroRecord.Baodi4[req.DrawType] = 0
|
||||
star4Count++
|
||||
if IsBaodiPool {
|
||||
strPool[len(strPool)-1] = drawConf.P4pool
|
||||
} else {
|
||||
strPool[len(strPool)-1] = drawConf.N4pool
|
||||
}
|
||||
continue
|
||||
}
|
||||
heroRecord.Baodi5[req.DrawType]++
|
||||
heroRecord.Baodi4[req.DrawType]++
|
||||
if req.DrawType == 10 {
|
||||
if star4Count >= cfgGlobal.Draw10Star4Max { // 10连抽最大4星数量
|
||||
if IsBaodiPool {
|
||||
strPool[len(strPool)-1] = drawConf.P3pool
|
||||
} else {
|
||||
strPool[len(strPool)-1] = drawConf.N3pool
|
||||
}
|
||||
}
|
||||
if star5Count >= cfgGlobal.Draw10Star5Max { // 10连抽最大5星数量
|
||||
if IsBaodiPool {
|
||||
strPool[len(strPool)-1] = drawConf.P3pool
|
||||
} else {
|
||||
strPool[len(strPool)-1] = drawConf.N3pool
|
||||
}
|
||||
}
|
||||
}
|
||||
for index, star := range szStar {
|
||||
|
||||
_data, err := this.module.configure.GetPollByType(strPool[index])
|
||||
}
|
||||
}
|
||||
// 通过卡池获得最终的英雄
|
||||
for _, v := range strPool {
|
||||
card, err := this.module.configure.GetHeroByPool(v)
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
@ -275,35 +182,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
||||
}
|
||||
return
|
||||
}
|
||||
sz := make([]int32, 0)
|
||||
for _, v := range _data[int32(star)] {
|
||||
sz = append(sz, v.Weight)
|
||||
}
|
||||
randomIndex := comm.GetRandW(sz)
|
||||
|
||||
if v, ok := _data[int32(star)]; ok {
|
||||
if int32(len(v)) > randomIndex {
|
||||
cardId := v[randomIndex].Id
|
||||
if star == 5 { // 抽出5星英雄后A次抽奖内不会再抽到5星英雄(普通卡池+阵营卡池)
|
||||
curDrawCount := drawCount - req.DrawCount
|
||||
if drawCount <= 10 { // 前10次不计算(连续抽卡最多连续出A个相同阵营的英雄)
|
||||
szCards = append(szCards, cardId)
|
||||
continue
|
||||
}
|
||||
newID := this.module.ContinuousRestriction(session.GetUserId(), cardId, curDrawCount+int32(index+1), strPool[index])
|
||||
szCards = append(szCards, newID)
|
||||
continue
|
||||
}
|
||||
szCards = append(szCards, cardId)
|
||||
// 普通卡池 最多连续出A个相同阵营的英雄
|
||||
if req.DrawType == 0 {
|
||||
newId := this.module.DrawCardContinuousRestrictionCamp(cardId, heroRecord.Race, sz, v)
|
||||
if cardId != newId {
|
||||
szCards[len(szCards)-1] = newId
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
szCards = append(szCards, card)
|
||||
}
|
||||
|
||||
// 消耗道具
|
||||
@ -312,11 +191,12 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
||||
}
|
||||
heroRecord.Totalcount += req.DrawCount
|
||||
heroRecord.Daycount += req.DrawCount
|
||||
update["star4"] = heroRecord.Star4
|
||||
update["star5"] = heroRecord.Star5
|
||||
|
||||
update["drawcount"] = drawCount
|
||||
update["totalcount"] = heroRecord.Totalcount
|
||||
update["daycount"] = heroRecord.Daycount
|
||||
update["baodi4"] = heroRecord.Baodi4
|
||||
update["baodi5"] = heroRecord.Baodi5
|
||||
this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
|
||||
rsp := &pb.HeroDrawCardResp{
|
||||
Data: []*pb.AtnoData{},
|
||||
@ -343,6 +223,9 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), DrawCard, rsp)
|
||||
if req.DrawType == 0 {
|
||||
normalDraw = true
|
||||
}
|
||||
// 任务统计
|
||||
this.module.SendTaskMsg(session, szStar, req.DrawCount, normalDraw)
|
||||
return
|
||||
|
@ -1,369 +0,0 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"math/big"
|
||||
)
|
||||
|
||||
func (this *apiComp) DrawCardV2Check(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
if req.DrawType < 0 && (req.DrawCount == 1 || req.DrawCount == 10) { // 只能是单抽或10抽
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//抽卡
|
||||
func (this *apiComp) DrawCardV2(session comm.IUserSession, req *pb.HeroDrawCardReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
szCards []string // 最终抽到的卡牌
|
||||
drawCount int32 // 抽卡次数
|
||||
szStar []int32 //星级
|
||||
costRes []*cfg.Gameatn // 消耗
|
||||
star4Max int32 // 10连抽最大4星数量
|
||||
star5Max int32 // 10连抽最大5星数量
|
||||
cfgDraw *cfg.GameGlobalData
|
||||
heroRecord *pb.DBHeroRecord
|
||||
pool string // 当前抽对应的卡池
|
||||
atno []*pb.UserAtno // 最终获得的资源
|
||||
strPool []string // 10连跨多个卡池情况
|
||||
update map[string]interface{}
|
||||
normalDraw bool // 是否是普通抽
|
||||
drawConf *cfg.GameDrawPoolData
|
||||
err error
|
||||
|
||||
appointmap map[int32]string // 指定次数抽卡到指定卡池
|
||||
)
|
||||
appointmap = make(map[int32]string)
|
||||
szCards = make([]string, 0)
|
||||
heroRecord, _ = this.module.modelRecord.GetHeroRecord(session.GetUserId())
|
||||
if heroRecord.Baodi4 == nil {
|
||||
heroRecord.Baodi4 = make(map[int32]int32)
|
||||
}
|
||||
if heroRecord.Baodi5 == nil {
|
||||
heroRecord.Baodi5 = make(map[int32]int32)
|
||||
}
|
||||
if heroRecord.Count == nil {
|
||||
heroRecord.Count = make(map[int32]int32)
|
||||
}
|
||||
// 准备数据
|
||||
/////////////////////////////////////
|
||||
drawConf, err = this.module.configure.GetHeroDrawConfigByType(req.DrawType) // 获取新的抽卡配置
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
for _, v := range drawConf.RecruitmentType {
|
||||
appointmap[v.K] = v.S // 指定次抽数据
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
update = make(map[string]interface{})
|
||||
cfgDraw = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||
if cfgDraw == nil {
|
||||
return
|
||||
}
|
||||
if errdata = this.DrawCardV2Check(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
|
||||
drawCount = heroRecord.Count[req.DrawType] // 获取当前阵容抽卡次数
|
||||
if req.DrawType == 0 { // 普通卡池抽卡
|
||||
////// 获取消耗 star
|
||||
if req.DrawCount == 1 {
|
||||
costRes = drawConf.ConsumeA // 单抽消耗
|
||||
} else {
|
||||
costRes = drawConf.ConsumeB // 十连消耗
|
||||
}
|
||||
|
||||
if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
return
|
||||
}
|
||||
///// 获取消耗 end
|
||||
for i := 1; i <= int(req.DrawCount); i++ { // 一张一张的抽
|
||||
drawCount++
|
||||
if v, ok := appointmap[drawCount]; ok { // 优先校验是否是指定抽
|
||||
strPool = append(strPool, v) //找到了
|
||||
continue
|
||||
}
|
||||
// 随机获取三星
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if req.DrawType == 0 { // 普通卡池抽卡
|
||||
normalDraw = true
|
||||
// 获取普通抽卡池
|
||||
// if req.DrawCount == 1 {
|
||||
// costAtn = cfgDraw.BasePoolCost
|
||||
// } else {
|
||||
// costAtn = cfgDraw.BasePool10cost
|
||||
// }
|
||||
// if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
// return
|
||||
// }
|
||||
|
||||
for i := 0; i < int(req.DrawCount); i++ {
|
||||
drawCount += 1
|
||||
pool = this.module.modelHero.CheckPool(drawCount, cfgDraw)
|
||||
|
||||
strPool = append(strPool, pool)
|
||||
ret := this.module.CheckCondition(session.GetUserId())
|
||||
if ret == true { // 命中插入5星英雄
|
||||
szStar = append(szStar, 5)
|
||||
heroRecord.Star5 = 0 // 重置保底
|
||||
star5Max++ // 记录当前 5星数量
|
||||
continue
|
||||
}
|
||||
// 3,4,5 星权重
|
||||
starWeight := []int32{cfgDraw.BasePoolStar3, cfgDraw.BasePoolStar4, cfgDraw.BasePoolStar5}
|
||||
|
||||
starIndex := comm.GetRandW(starWeight) // 3 4 5 星索引
|
||||
|
||||
// 特殊规则 DrawCard_5StarsInRange 第2-30次抽奖必出一个5星英雄(普通卡池)
|
||||
inRangeConf := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange
|
||||
if len(inRangeConf) == 3 {
|
||||
iStart := inRangeConf[0] // 抽卡开始
|
||||
iEnd := inRangeConf[1] // 抽卡结束
|
||||
star := inRangeConf[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
inRangeConf1 := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1
|
||||
if len(inRangeConf1) == 3 {
|
||||
iStart := inRangeConf1[0] // 抽卡开始
|
||||
iEnd := inRangeConf1[1] // 抽卡结束
|
||||
star := inRangeConf1[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
// 修改卡池
|
||||
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||
if newPoll != "" {
|
||||
strPool[len(strPool)-1] = newPoll
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star - 3
|
||||
heroRecord.Inevitable1 = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
szStar = append(szStar, star)
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if star == 5 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
// 修改卡池
|
||||
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||
if newPoll != "" {
|
||||
strPool[len(strPool)-1] = newPoll
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
heroRecord.Star4++ // 4星保底数量+1
|
||||
heroRecord.Star5++ // 5星保底数量+1
|
||||
if starIndex == 1 {
|
||||
heroRecord.Star4 = 0
|
||||
star4Max++
|
||||
} else if starIndex == 2 {
|
||||
star5Max++
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max { // 达到10连抽最大(4,5星)数量 直接给三星
|
||||
starIndex = 0
|
||||
} else {
|
||||
// 普通卡池保底
|
||||
if cfgDraw.DrawFloorStar4 <= heroRecord.Star4 {
|
||||
heroRecord.Star4 = 0
|
||||
starIndex = 1
|
||||
}
|
||||
if cfgDraw.DrawFloorStar5 <= heroRecord.Star5 {
|
||||
heroRecord.Star5 = 0
|
||||
starIndex = 2
|
||||
}
|
||||
}
|
||||
|
||||
szStar = append(szStar, starIndex+3)
|
||||
if len(szStar) >= int(req.DrawCount) {
|
||||
break
|
||||
}
|
||||
}
|
||||
} else { // 所有阵营抽卡都走这里
|
||||
drawCount += req.DrawCount
|
||||
if req.DrawCount == 1 {
|
||||
|
||||
strPool = append(strPool, pool)
|
||||
} else {
|
||||
|
||||
for i := 0; i < int(req.DrawCount); i++ {
|
||||
strPool = append(strPool, pool)
|
||||
}
|
||||
}
|
||||
|
||||
//阵营消耗
|
||||
if errdata = this.module.CheckRes(session, costRes); errdata != nil { // 消耗数量不足直接返回
|
||||
return
|
||||
}
|
||||
for {
|
||||
starWeight := []int32{cfgDraw.CampPoolStar3, cfgDraw.CampPoolStar4, cfgDraw.CampPoolStar5}
|
||||
|
||||
starIndex := comm.GetRandW(starWeight)
|
||||
if starIndex == 1 {
|
||||
star4Max++
|
||||
} else if starIndex == 2 {
|
||||
star5Max++
|
||||
}
|
||||
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max {
|
||||
starIndex = 0
|
||||
}
|
||||
szStar = append(szStar, starIndex)
|
||||
if len(szStar) >= int(req.DrawCount) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
for index, star := range szStar {
|
||||
|
||||
_data, err := this.module.configure.GetPollByType(strPool[index])
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
sz := make([]int32, 0)
|
||||
for _, v := range _data[int32(star)] {
|
||||
sz = append(sz, v.Weight)
|
||||
}
|
||||
randomIndex := comm.GetRandW(sz)
|
||||
|
||||
if v, ok := _data[int32(star)]; ok {
|
||||
if int32(len(v)) > randomIndex {
|
||||
cardId := v[randomIndex].Id
|
||||
if star == 5 { // 抽出5星英雄后A次抽奖内不会再抽到5星英雄(普通卡池+阵营卡池)
|
||||
curDrawCount := drawCount - req.DrawCount
|
||||
if drawCount <= 10 { // 前10次不计算(连续抽卡最多连续出A个相同阵营的英雄)
|
||||
szCards = append(szCards, cardId)
|
||||
continue
|
||||
}
|
||||
newID := this.module.ContinuousRestriction(session.GetUserId(), cardId, curDrawCount+int32(index+1), strPool[index])
|
||||
szCards = append(szCards, newID)
|
||||
continue
|
||||
}
|
||||
szCards = append(szCards, cardId)
|
||||
// 普通卡池 最多连续出A个相同阵营的英雄
|
||||
if req.DrawType == 0 {
|
||||
newId := this.module.DrawCardContinuousRestrictionCamp(cardId, heroRecord.Race, sz, v)
|
||||
if cardId != newId {
|
||||
szCards[len(szCards)-1] = newId
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 消耗道具
|
||||
if errdata = this.module.ConsumeRes(session, costRes, true); errdata != nil {
|
||||
return
|
||||
}
|
||||
heroRecord.Totalcount += req.DrawCount
|
||||
heroRecord.Daycount += req.DrawCount
|
||||
update["star4"] = heroRecord.Star4
|
||||
update["star5"] = heroRecord.Star5
|
||||
update["drawcount"] = drawCount
|
||||
update["totalcount"] = heroRecord.Totalcount
|
||||
update["daycount"] = heroRecord.Daycount
|
||||
this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
|
||||
rsp := &pb.HeroDrawCardResp{
|
||||
Data: []*pb.AtnoData{},
|
||||
}
|
||||
for _, heroId := range szCards {
|
||||
|
||||
if errdata, atno = this.module.DispenseAtno(session, []*cfg.Gameatn{{
|
||||
A: "hero",
|
||||
T: heroId,
|
||||
N: 1,
|
||||
}}, true); errdata == nil {
|
||||
|
||||
rsp.Data = append(rsp.Data, &pb.AtnoData{Atno: atno})
|
||||
for _, v := range atno {
|
||||
if v.A == "hero" && v.N == 1 {
|
||||
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { // 广播 首次获得英雄
|
||||
this.chat.SendSysChatToWorld(comm.ChatSystem13, nil, 0, 0, user.Name, v.T)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), DrawCard, rsp)
|
||||
// 任务统计
|
||||
this.module.SendTaskMsg(session, szStar, req.DrawCount, normalDraw)
|
||||
return
|
||||
}
|
@ -25,7 +25,7 @@ const (
|
||||
hero_skillup = "game_heroskilllevel.json" // 英雄技能升级
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
//hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
hero_drawupdraw = "game_drawupdraw.json" // 抽卡概率调整
|
||||
hero_drawcost = "game_drawcost.json" // 抽卡消耗
|
||||
hero_fusion = "game_herofusion.json" // 卡牌融合
|
||||
@ -36,16 +36,19 @@ const (
|
||||
|
||||
hero_draw = "game_drawpool.json" // 新版抽卡
|
||||
hero_cardweight = "game_drawweight.json" // 新版抽卡权重
|
||||
hero_cardpool = "game_cardpool.json" // 新版卡池
|
||||
)
|
||||
|
||||
// /配置管理组件
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
hlock sync.RWMutex
|
||||
drawCardCfg map[string]map[int32][]*cfg.GameDrawCardData // 第一个key 卡池id 第二个key 星级
|
||||
//drawCardCfg map[string]map[int32][]*cfg.GameDrawCardData // 第一个key 卡池id 第二个key 星级
|
||||
awakenMap map[int64]*cfg.GameHeroAwakenData
|
||||
starMap map[int64]*cfg.GameHeroStarupData
|
||||
module *Hero
|
||||
starW map[int64]int32
|
||||
cardPool map[string][]*cfg.GameCardPoolData
|
||||
}
|
||||
|
||||
// 组件初始化接口
|
||||
@ -62,16 +65,16 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
hero_exp: cfg.NewGameHeroExp,
|
||||
hero_skillup: cfg.NewGameHeroSkillLevel,
|
||||
game_skillatk: cfg.NewGameSkillAtk,
|
||||
hero_drawcard: cfg.NewGameDrawCard,
|
||||
//hero_drawcard: cfg.NewGameDrawCard,
|
||||
hero_talent: cfg.NewGameHeroTalent,
|
||||
hero_talentbox: cfg.NewGameTalentBox,
|
||||
game_shopitem: cfg.NewGameShopitem,
|
||||
hero_skill: cfg.NewGameHeroSkill,
|
||||
hero_draw: cfg.NewGameDrawPool,
|
||||
hero_cardweight: cfg.NewGameDrawWeight,
|
||||
//hero_cardweight: cfg.NewGameDrawWeight,
|
||||
})
|
||||
this.drawCardCfg = make(map[string]map[int32][]*cfg.GameDrawCardData, 0)
|
||||
configure.RegisterConfigure(hero_drawcard, cfg.NewGameDrawCard, this.SetHeroDrawConfig)
|
||||
//this.drawCardCfg = make(map[string]map[int32][]*cfg.GameDrawCardData, 0)
|
||||
//configure.RegisterConfigure(hero_drawcard, cfg.NewGameDrawCard, this.SetHeroDrawConfig)
|
||||
this.awakenMap = make(map[int64]*cfg.GameHeroAwakenData, 0)
|
||||
configure.RegisterConfigure(hero_awaken, cfg.NewGameHeroAwaken, func() {
|
||||
if v, err := this.GetConfigure(hero_awaken); err == nil {
|
||||
@ -107,8 +110,40 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
|
||||
}
|
||||
})
|
||||
configure.RegisterConfigure(hero_cardweight, cfg.NewGameDrawWeight, func() {
|
||||
if v, err := this.GetConfigure(hero_cardweight); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameDrawWeight); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
this.starW = make(map[int64]int32)
|
||||
for _, v := range _configure.GetDataList() {
|
||||
this.starW[(int64(v.Dtype)<<16)+int64(v.Key)] = v.Weight
|
||||
}
|
||||
|
||||
this.GetHeroDrawConfigByType(1)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.NewGameDrawWeight", v)
|
||||
}
|
||||
})
|
||||
|
||||
// 卡池初始化
|
||||
configure.RegisterConfigure(hero_cardpool, cfg.NewGameCardPool, func() {
|
||||
if v, err := this.GetConfigure(hero_cardpool); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameCardPool); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
this.cardPool = make(map[string][]*cfg.GameCardPoolData)
|
||||
for _, v := range _configure.GetDataList() {
|
||||
this.cardPool[v.CardPoolType] = append(this.cardPool[v.CardPoolType], v)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.NewGameCardPool", v)
|
||||
}
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@ -151,40 +186,40 @@ func (this *configureComp) GetHeroAwakenConfig(hid string, phase int32) (cfg *cf
|
||||
}
|
||||
|
||||
// 抽卡配置表
|
||||
func (this *configureComp) SetHeroDrawConfig() {
|
||||
var (
|
||||
v interface{}
|
||||
err error
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_drawcard); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameDrawCard); ok {
|
||||
this.hlock.Lock()
|
||||
this.drawCardCfg = make(map[string]map[int32][]*cfg.GameDrawCardData, 0)
|
||||
for _, v := range _configure.GetDataList() {
|
||||
if _, ok := this.drawCardCfg[v.CardPoolType]; !ok {
|
||||
this.drawCardCfg[v.CardPoolType] = make(map[int32][]*cfg.GameDrawCardData, 0)
|
||||
}
|
||||
if _, ok := this.drawCardCfg[v.CardPoolType][v.Star]; !ok {
|
||||
this.drawCardCfg[v.CardPoolType][v.Star] = make([]*cfg.GameDrawCardData, 0)
|
||||
}
|
||||
this.drawCardCfg[v.CardPoolType][v.Star] = append(this.drawCardCfg[v.CardPoolType][v.Star], v)
|
||||
}
|
||||
this.hlock.Unlock()
|
||||
// this.module.Debug("update cfg.Game_drawCard over")
|
||||
return
|
||||
}
|
||||
}
|
||||
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
|
||||
return
|
||||
}
|
||||
// func (this *configureComp) SetHeroDrawConfig() {
|
||||
// var (
|
||||
// v interface{}
|
||||
// err error
|
||||
// )
|
||||
// if v, err = this.GetConfigure(hero_drawcard); err == nil {
|
||||
// if _configure, ok := v.(*cfg.GameDrawCard); ok {
|
||||
// this.hlock.Lock()
|
||||
// this.drawCardCfg = make(map[string]map[int32][]*cfg.GameDrawCardData, 0)
|
||||
// for _, v := range _configure.GetDataList() {
|
||||
// if _, ok := this.drawCardCfg[v.CardPoolType]; !ok {
|
||||
// this.drawCardCfg[v.CardPoolType] = make(map[int32][]*cfg.GameDrawCardData, 0)
|
||||
// }
|
||||
// if _, ok := this.drawCardCfg[v.CardPoolType][v.Star]; !ok {
|
||||
// this.drawCardCfg[v.CardPoolType][v.Star] = make([]*cfg.GameDrawCardData, 0)
|
||||
// }
|
||||
// this.drawCardCfg[v.CardPoolType][v.Star] = append(this.drawCardCfg[v.CardPoolType][v.Star], v)
|
||||
// }
|
||||
// this.hlock.Unlock()
|
||||
// // this.module.Debug("update cfg.Game_drawCard over")
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
// err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
|
||||
// return
|
||||
// }
|
||||
|
||||
func (this *configureComp) GetPollByType(poosType string) (conf map[int32][]*cfg.GameDrawCardData, err error) {
|
||||
var ok bool
|
||||
if conf, ok = this.drawCardCfg[poosType]; !ok {
|
||||
err = comm.NewNotFoundConfErr(moduleName, hero_drawcard, poosType)
|
||||
}
|
||||
return
|
||||
}
|
||||
// func (this *configureComp) GetPollByType(poosType string) (conf map[int32][]*cfg.GameDrawCardData, err error) {
|
||||
// var ok bool
|
||||
// if conf, ok = this.drawCardCfg[poosType]; !ok {
|
||||
// err = comm.NewNotFoundConfErr(moduleName, hero_drawcard, poosType)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
func (this *configureComp) GetHeroExp(hid string) (conf *cfg.GameHeroExpData, err error) {
|
||||
var (
|
||||
@ -420,23 +455,24 @@ func (this *configureComp) GetHeroDrawConfigByType(id int32) (data *cfg.GameDraw
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) GetHeroDrawWeightConfigById(id int32) (data *cfg.GameDrawWeightData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
)
|
||||
if id > 0 {
|
||||
if v, err = this.GetConfigure(hero_cardweight); err == nil {
|
||||
if conf, ok := v.(*cfg.GameDrawWeight); ok {
|
||||
if data = conf.Get(id); data != nil {
|
||||
func (this *configureComp) GetHeroDrawWeightConfigById(dtype int32, key int32) int32 {
|
||||
return this.starW[(int64(dtype)<<16)+int64(key)]
|
||||
}
|
||||
|
||||
// 通过卡池获取 英雄
|
||||
func (this *configureComp) GetHeroByPool(pool string) (hid string, err error) {
|
||||
if v, ok := this.cardPool[pool]; !ok {
|
||||
var sz []int32
|
||||
for _, v1 := range v {
|
||||
sz = append(sz, v1.Weight)
|
||||
}
|
||||
if len(sz) == 0 { // 异常报错提醒
|
||||
err = comm.NewNotFoundConfErr(moduleName, hero_cardpool, pool)
|
||||
return
|
||||
} else {
|
||||
if len(conf.GetDataList()) > 0 {
|
||||
data = conf.GetDataList()[len(conf.GetDataList())-1]
|
||||
}
|
||||
hid = v[comm.GetRandW(sz)].Id
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
err = comm.NewNotFoundConfErr(moduleName, hero_draw, id)
|
||||
err = comm.NewNotFoundConfErr(moduleName, hero_cardpool, pool)
|
||||
return
|
||||
}
|
||||
|
@ -589,24 +589,6 @@ func (this *ModelHero) RemoveUserHeroInfo(uid string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelHero) CheckPool(drawCount int32, config *cfg.GameGlobalData) (pools string) {
|
||||
if config.BasePool1.S <= drawCount && config.BasePool1.E >= drawCount {
|
||||
return config.BasePool1.P
|
||||
} else if config.BasePool2.S <= drawCount && config.BasePool2.E >= drawCount {
|
||||
return config.BasePool2.P
|
||||
} else if config.BasePool3.S <= drawCount && config.BasePool3.E >= drawCount {
|
||||
return config.BasePool3.P
|
||||
} else if config.BasePool4.S <= drawCount && config.BasePool4.E >= drawCount {
|
||||
return config.BasePool4.P
|
||||
} else if config.BasePool5.S <= drawCount && config.BasePool5.E >= drawCount {
|
||||
return config.BasePool5.P
|
||||
} else if config.BasePool6.S <= drawCount && config.BasePool6.E >= drawCount {
|
||||
return config.BasePool6.P
|
||||
}
|
||||
|
||||
return config.BasePool7.P
|
||||
}
|
||||
|
||||
// 通过卡池的权重 获取英雄
|
||||
func (this *ModelHero) GetRandHeroIdBypool(sz []int32) int32 {
|
||||
|
||||
|
@ -546,27 +546,18 @@ func (this *Hero) ContinuousRestriction(uid string, heroCid string, drawCount in
|
||||
conf := this.ModuleTools.GetGlobalConf() //.
|
||||
iMaxCOunt := conf.DrawCardContinuousRestrictionStar5
|
||||
if drawCount-index <= iMaxCOunt { // 连续n次还获得该英雄 直接替换其他英雄
|
||||
|
||||
_data, _ := this.configure.GetPollByType(pool)
|
||||
if _data == nil {
|
||||
|
||||
return heroCid
|
||||
for i := 0; i < 99; i++ {
|
||||
if newCid, err := this.configure.GetHeroByPool(pool); err != nil {
|
||||
if newCid != heroCid {
|
||||
return newCid
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < len(_data[5]); i++ {
|
||||
if v, ok := _data[5]; ok {
|
||||
if int32(len(v)) > int32(i) {
|
||||
newCid = v[i].Id
|
||||
if newCid == heroid {
|
||||
continue
|
||||
}
|
||||
record.Star5Hero[heroid] = drawCount
|
||||
update["star5Hero"] = record.Star5Hero
|
||||
this.modelRecord.ChangeHeroRecord(uid, update) // 更新信息
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return heroCid
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -771,85 +762,6 @@ func (this *Hero) SendTaskMsg(session comm.IUserSession, szStar []int32, drawCou
|
||||
go this.ModuleBuried.TriggerBuried(session.GetUserId(), szTask...)
|
||||
}
|
||||
|
||||
func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex int32) {
|
||||
inRangeConf := this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange
|
||||
if len(inRangeConf) == 3 {
|
||||
iStart := inRangeConf[0] // 抽卡开始
|
||||
iEnd := inRangeConf[1] // 抽卡结束
|
||||
star := inRangeConf[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update := make(map[string]interface{})
|
||||
update["inevitable"] = heroRecord.Drawcount
|
||||
|
||||
get = true
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
|
||||
get = true
|
||||
}
|
||||
}
|
||||
}
|
||||
get = false
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Hero) InRange(heroRecord *pb.DBHeroRecord, strPool []string, update map[string]interface{}) (starIndex int32, pool string) {
|
||||
|
||||
starIndex = 3 // 默认3星
|
||||
inRangeConf1 := this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1
|
||||
pool = this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||
if len(inRangeConf1) == 3 {
|
||||
iStart := inRangeConf1[0] // 抽卡开始
|
||||
iEnd := inRangeConf1[1] // 抽卡结束
|
||||
star := inRangeConf1[2]
|
||||
if star >= 3 { // 保底必须三星+
|
||||
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
|
||||
if n.Int64() < 1 { // 抽中
|
||||
starIndex = star
|
||||
heroRecord.Inevitable = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
} else if star == 5 {
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
// 修改卡池
|
||||
// if newPoll != "" {
|
||||
// strPool[len(strPool)-1] = newPoll
|
||||
// }
|
||||
return
|
||||
}
|
||||
}
|
||||
// 保底情况
|
||||
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
|
||||
starIndex = star
|
||||
heroRecord.Inevitable1 = heroRecord.Drawcount
|
||||
update["inevitable1"] = heroRecord.Drawcount
|
||||
|
||||
if star == 4 {
|
||||
heroRecord.Star4 = 0
|
||||
} else if star == 5 {
|
||||
heroRecord.Star5 = 0
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Hero) RegisterInstructor(session comm.IUserSession, heroOid []string, fulllvenr int32) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
_szHero []*pb.DBHero
|
||||
|
192
pb/hero_db.pb.go
192
pb/hero_db.pb.go
@ -646,67 +646,6 @@ var file_hero_hero_db_proto_rawDesc = []byte{
|
||||
0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< Updated upstream
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x05, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
|
||||
0x72, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
|
||||
0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64,
|
||||
0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
|
||||
0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
|
||||
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44,
|
||||
0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x64,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
|
||||
0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x18,
|
||||
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x12, 0x1e, 0x0a,
|
||||
0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x31, 0x18, 0x0e, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x31, 0x12,
|
||||
0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x61, 0x63,
|
||||
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x3c, 0x0a, 0x0e,
|
||||
0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x53, 0x74,
|
||||
0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x61, 0x63, 0x65,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
||||
0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65,
|
||||
0x6e, 0x74, 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, 0x64, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06,
|
||||
0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44,
|
||||
0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x6c, 0x65,
|
||||
0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x1a,
|
||||
0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x2f, 0x0a, 0x08, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79,
|
||||
0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x54,
|
||||
0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
=======
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||
@ -798,79 +737,6 @@ var file_hero_hero_db_proto_rawDesc = []byte{
|
||||
0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f,
|
||||
0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
>>>>>>> Stashed changes
|
||||
=======
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x48, 0x6f, 0x72,
|
||||
0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||
0x3a, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x05, 0x0a, 0x0c,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x14,
|
||||
0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73,
|
||||
0x74, 0x61, 0x72, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a,
|
||||
0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
||||
0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74,
|
||||
0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61,
|
||||
0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x61,
|
||||
0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x0b, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65,
|
||||
0x6e, 0x62, 0x75, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62,
|
||||
0x75, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x31, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x31, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63,
|
||||
0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||
0x3c, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a,
|
||||
0x09, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 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, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49,
|
||||
0x64, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61,
|
||||
0x6c, 0x65, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a,
|
||||
0x2f, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48,
|
||||
0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
>>>>>>> 03aec7e408a1e80da7f408debda883b93b688d29
|
||||
}
|
||||
|
||||
var (
|
||||
@ -888,8 +754,6 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte {
|
||||
var file_hero_hero_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
||||
var file_hero_hero_db_proto_goTypes = []interface{}{
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< Updated upstream
|
||||
(HeroType)(0), // 0: HeroType
|
||||
(*DBHero)(nil), // 1: DBHero
|
||||
(*DBHeroRecord)(nil), // 2: DBHeroRecord
|
||||
@ -903,37 +767,12 @@ var file_hero_hero_db_proto_goTypes = []interface{}{
|
||||
nil, // 10: DBHeroRecord.ConditionEntry
|
||||
nil, // 11: DBHeroRecord.Star5HeroEntry
|
||||
nil, // 12: DBHeroRecord.RaceEntry
|
||||
nil, // 13: DBHeroTalent.TalentEntry
|
||||
(*SkillData)(nil), // 14: SkillData
|
||||
=======
|
||||
=======
|
||||
>>>>>>> 03aec7e408a1e80da7f408debda883b93b688d29
|
||||
(HeroType)(0), // 0: HeroType
|
||||
(*DBHero)(nil), // 1: DBHero
|
||||
(*DBHeroRecord)(nil), // 2: DBHeroRecord
|
||||
(*DBHeroTalent)(nil), // 3: DBHeroTalent
|
||||
nil, // 4: DBHero.PropertyEntry
|
||||
nil, // 5: DBHero.AddPropertyEntry
|
||||
nil, // 6: DBHero.JuexPropertyEntry
|
||||
nil, // 7: DBHero.TalentPropertyEntry
|
||||
nil, // 8: DBHero.HoroscopePropertyEntry
|
||||
nil, // 9: DBHero.FettersEntry
|
||||
nil, // 10: DBHeroRecord.ConditionEntry
|
||||
nil, // 11: DBHeroRecord.Star5HeroEntry
|
||||
nil, // 12: DBHeroRecord.RaceEntry
|
||||
<<<<<<< HEAD
|
||||
nil, // 13: DBHeroRecord.Baodi4Entry
|
||||
nil, // 14: DBHeroRecord.Baodi5Entry
|
||||
nil, // 15: DBHeroRecord.CountEntry
|
||||
nil, // 16: DBHeroTalent.TalentEntry
|
||||
(*SkillData)(nil), // 17: SkillData
|
||||
(*DB_EquipmentSuit)(nil), // 18: DB_EquipmentSuit
|
||||
>>>>>>> Stashed changes
|
||||
=======
|
||||
nil, // 13: DBHeroTalent.TalentEntry
|
||||
(*SkillData)(nil), // 14: SkillData
|
||||
(*DB_EquipmentSuit)(nil), // 15: DB_EquipmentSuit
|
||||
>>>>>>> 03aec7e408a1e80da7f408debda883b93b688d29
|
||||
}
|
||||
var file_hero_hero_db_proto_depIdxs = []int32{
|
||||
17, // 0: DBHero.normalSkill:type_name -> SkillData
|
||||
@ -941,36 +780,14 @@ var file_hero_hero_db_proto_depIdxs = []int32{
|
||||
5, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry
|
||||
6, // 3: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry
|
||||
0, // 4: DBHero.status:type_name -> HeroType
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< Updated upstream
|
||||
7, // 5: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry
|
||||
14, // 6: DBHero.equipSkill:type_name -> SkillData
|
||||
8, // 7: DBHero.horoscopeProperty:type_name -> DBHero.HoroscopePropertyEntry
|
||||
9, // 8: DBHero.fetters:type_name -> DBHero.FettersEntry
|
||||
10, // 9: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry
|
||||
11, // 10: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry
|
||||
12, // 11: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry
|
||||
13, // 12: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry
|
||||
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
|
||||
=======
|
||||
18, // 5: DBHero.suits:type_name -> DB_EquipmentSuit
|
||||
7, // 6: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry
|
||||
17, // 7: DBHero.equipSkill:type_name -> SkillData
|
||||
=======
|
||||
15, // 5: DBHero.suits:type_name -> DB_EquipmentSuit
|
||||
7, // 6: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry
|
||||
14, // 7: DBHero.equipSkill:type_name -> SkillData
|
||||
>>>>>>> 03aec7e408a1e80da7f408debda883b93b688d29
|
||||
8, // 8: DBHero.horoscopeProperty:type_name -> DBHero.HoroscopePropertyEntry
|
||||
9, // 9: DBHero.fetters:type_name -> DBHero.FettersEntry
|
||||
10, // 10: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry
|
||||
11, // 11: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry
|
||||
12, // 12: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry
|
||||
<<<<<<< HEAD
|
||||
13, // 13: DBHeroRecord.baodi4:type_name -> DBHeroRecord.Baodi4Entry
|
||||
14, // 14: DBHeroRecord.baodi5:type_name -> DBHeroRecord.Baodi5Entry
|
||||
15, // 15: DBHeroRecord.count:type_name -> DBHeroRecord.CountEntry
|
||||
@ -980,15 +797,6 @@ var file_hero_hero_db_proto_depIdxs = []int32{
|
||||
17, // [17:17] is the sub-list for extension type_name
|
||||
17, // [17:17] is the sub-list for extension extendee
|
||||
0, // [0:17] is the sub-list for field type_name
|
||||
>>>>>>> Stashed changes
|
||||
=======
|
||||
13, // 13: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry
|
||||
14, // [14:14] is the sub-list for method output_type
|
||||
14, // [14:14] is the sub-list for method input_type
|
||||
14, // [14:14] is the sub-list for extension type_name
|
||||
14, // [14:14] is the sub-list for extension extendee
|
||||
0, // [0:14] is the sub-list for field type_name
|
||||
>>>>>>> 03aec7e408a1e80da7f408debda883b93b688d29
|
||||
}
|
||||
|
||||
func init() { file_hero_hero_db_proto_init() }
|
||||
|
@ -30,11 +30,10 @@ type DB_UserItemData struct {
|
||||
UId string `protobuf:"bytes,2,opt,name=uId,proto3" json:"uId" bson:"uid"` // 用户id
|
||||
ItemId string `protobuf:"bytes,3,opt,name=itemId,proto3" json:"itemId" bson:"itemId"` // 存放物品的Id
|
||||
Amount uint32 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount" bson:"amount"` // 存放物品的数量
|
||||
Change int32 `protobuf:"varint,5,opt,name=change,proto3" json:"change" bson:"change"` // 最后一次变化量
|
||||
CTime int64 `protobuf:"varint,6,opt,name=cTime,proto3" json:"cTime" bson:"cTime"` // 物品获取时间
|
||||
ETime int64 `protobuf:"varint,7,opt,name=eTime,proto3" json:"eTime" bson:"eTime"` // 物品过期时间
|
||||
IsNewItem bool `protobuf:"varint,8,opt,name=isNewItem,proto3" json:"isNewItem" bson:"isNewItem"` // 是否是新的
|
||||
Lastopt int64 `protobuf:"varint,9,opt,name=lastopt,proto3" json:"lastopt" bson:"lastopt"` // 最后操作时间
|
||||
CTime int64 `protobuf:"varint,5,opt,name=cTime,proto3" json:"cTime" bson:"cTime"` // 物品获取时间
|
||||
ETime int64 `protobuf:"varint,6,opt,name=eTime,proto3" json:"eTime" bson:"eTime"` // 物品过期时间
|
||||
IsNewItem bool `protobuf:"varint,7,opt,name=isNewItem,proto3" json:"isNewItem" bson:"isNewItem"` // 是否是新的
|
||||
Lastopt int64 `protobuf:"varint,8,opt,name=lastopt,proto3" json:"lastopt" bson:"lastopt"` // 最后操作时间
|
||||
}
|
||||
|
||||
func (x *DB_UserItemData) Reset() {
|
||||
@ -97,13 +96,6 @@ func (x *DB_UserItemData) GetAmount() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DB_UserItemData) GetChange() int32 {
|
||||
if x != nil {
|
||||
return x.Change
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DB_UserItemData) GetCTime() int64 {
|
||||
if x != nil {
|
||||
return x.CTime
|
||||
@ -136,22 +128,21 @@ var File_items_items_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_items_items_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x14, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x64, 0x62,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73,
|
||||
0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72,
|
||||
0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x69, 0x64,
|
||||
0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x75, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4e, 0x65,
|
||||
0x77, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e,
|
||||
0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x6f, 0x70,
|
||||
0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x6f, 0x70, 0x74,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x07, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x6f, 0x70, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x07, 0x6c, 0x61, 0x73, 0x74, 0x6f, 0x70, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
42
sys/configure/structs/Game.CardPool.go
Normal file
42
sys/configure/structs/Game.CardPool.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameCardPool struct {
|
||||
_dataMap map[int32]*GameCardPoolData
|
||||
_dataList []*GameCardPoolData
|
||||
}
|
||||
|
||||
func NewGameCardPool(_buf []map[string]interface{}) (*GameCardPool, error) {
|
||||
_dataList := make([]*GameCardPoolData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameCardPoolData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameCardPoolData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
}
|
||||
}
|
||||
return &GameCardPool{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameCardPool) GetDataMap() map[int32]*GameCardPoolData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameCardPool) GetDataList() []*GameCardPoolData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameCardPool) Get(key int32) *GameCardPoolData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
41
sys/configure/structs/Game.CardPoolData.go
Normal file
41
sys/configure/structs/Game.CardPoolData.go
Normal file
@ -0,0 +1,41 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameCardPoolData struct {
|
||||
Key int32
|
||||
CardPoolType string
|
||||
Id string
|
||||
Weight int32
|
||||
}
|
||||
|
||||
const TypeId_GameCardPoolData = 1562200466
|
||||
|
||||
func (*GameCardPoolData) GetTypeId() int32 {
|
||||
return 1562200466
|
||||
}
|
||||
|
||||
func (_v *GameCardPoolData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ 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; if _v.CardPoolType, _ok_ = _buf["card_pool_type"].(string); !_ok_ { err = errors.New("card_pool_type error"); return } }
|
||||
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameCardPoolData(_buf map[string]interface{}) (*GameCardPoolData, error) {
|
||||
v := &GameCardPoolData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -21,7 +21,7 @@ func NewGameDrawWeight(_buf []map[string]interface{}) (*GameDrawWeight, error) {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameDrawWeight{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
|
@ -11,6 +11,8 @@ package cfg
|
||||
import "errors"
|
||||
|
||||
type GameDrawWeightData struct {
|
||||
Id int32
|
||||
Dtype int32
|
||||
Key int32
|
||||
Weight int32
|
||||
}
|
||||
@ -22,6 +24,8 @@ func (*GameDrawWeightData) GetTypeId() int32 {
|
||||
}
|
||||
|
||||
func (_v *GameDrawWeightData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ 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["dtype"].(float64); !_ok_ { err = errors.New("dtype error"); return }; _v.Dtype = int32(_tempNum_) }
|
||||
{ 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["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
|
||||
return
|
||||
|
@ -184,6 +184,7 @@ type Tables struct {
|
||||
PhotoFilter *GamePhotoFilter
|
||||
DrawPool *GameDrawPool
|
||||
DrawWeight *GameDrawWeight
|
||||
CardPool *GameCardPool
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
@ -1229,5 +1230,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.DrawWeight, err = NewGameDrawWeight(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_cardpool") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.CardPool, err = NewGameCardPool(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
@ -39,36 +39,7 @@ type GameGlobalData struct {
|
||||
DrawToplimit int32
|
||||
Draw10Star4Max int32
|
||||
Draw10Star5Max int32
|
||||
DrawFloorStar4 int32
|
||||
DrawFloorStar5 int32
|
||||
DuplicateRemoval int32
|
||||
BasePoolCost *Gameatn
|
||||
Camp1PoolCost *Gameatn
|
||||
Camp2PoolCost *Gameatn
|
||||
Camp3PoolCost *Gameatn
|
||||
Camp4PoolCost *Gameatn
|
||||
BasePool10cost *Gameatn
|
||||
Camp1Pool10cost *Gameatn
|
||||
Camp2Pool10cost *Gameatn
|
||||
Camp3Pool10cost *Gameatn
|
||||
Camp4Pool10cost *Gameatn
|
||||
Camp1Pool1 string
|
||||
Camp2Pool1 string
|
||||
Camp3Pool1 string
|
||||
Camp4Pool1 string
|
||||
BasePool1 *Gamebasepool
|
||||
BasePool2 *Gamebasepool
|
||||
BasePool3 *Gamebasepool
|
||||
BasePool4 *Gamebasepool
|
||||
BasePool5 *Gamebasepool
|
||||
BasePool6 *Gamebasepool
|
||||
BasePool7 *Gamebasepool
|
||||
BasePoolStar3 int32
|
||||
BasePoolStar4 int32
|
||||
BasePoolStar5 int32
|
||||
CampPoolStar3 int32
|
||||
CampPoolStar4 int32
|
||||
CampPoolStar5 int32
|
||||
Gourmet int32
|
||||
SmithyMaxplayer int32
|
||||
SmithyMaxtime int32
|
||||
@ -142,9 +113,6 @@ type GameGlobalData struct {
|
||||
SkillGetLocation []int32
|
||||
DrawCardRechargeReward []int32
|
||||
DrawCardRegressionReward []int32
|
||||
DrawCard5StarsInRange []int32
|
||||
DrawCard5StarsInRange1 []int32
|
||||
DrawCard5StarsInRange1Pool string
|
||||
DrawCardContinuousRestrictionStar5 int32
|
||||
DrawCardContinuousRestrictionCamp int32
|
||||
EquipmentConsumption []int32
|
||||
@ -327,36 +295,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_toplimit"].(float64); !_ok_ { err = errors.New("draw_toplimit error"); return }; _v.DrawToplimit = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw10_star4_max"].(float64); !_ok_ { err = errors.New("draw10_star4_max error"); return }; _v.Draw10Star4Max = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw10_star5_max"].(float64); !_ok_ { err = errors.New("draw10_star5_max error"); return }; _v.Draw10Star5Max = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_floor_star4"].(float64); !_ok_ { err = errors.New("draw_floor_star4 error"); return }; _v.DrawFloorStar4 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_floor_star5"].(float64); !_ok_ { err = errors.New("draw_floor_star5 error"); return }; _v.DrawFloorStar5 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duplicate_removal"].(float64); !_ok_ { err = errors.New("duplicate_removal error"); return }; _v.DuplicateRemoval = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool_cost error"); return }; if _v.BasePoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp1_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp1_pool_cost error"); return }; if _v.Camp1PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp2_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp2_pool_cost error"); return }; if _v.Camp2PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp3_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp3_pool_cost error"); return }; if _v.Camp3PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp4_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp4_pool_cost error"); return }; if _v.Camp4PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool_10cost"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool_10cost error"); return }; if _v.BasePool10cost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp1_pool_10cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp1_pool_10cost error"); return }; if _v.Camp1Pool10cost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp2_pool_10cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp2_pool_10cost error"); return }; if _v.Camp2Pool10cost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp3_pool_10cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp3_pool_10cost error"); return }; if _v.Camp3Pool10cost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp4_pool_10cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp4_pool_10cost error"); return }; if _v.Camp4Pool10cost, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; if _v.Camp1Pool1, _ok_ = _buf["camp1_pool1"].(string); !_ok_ { err = errors.New("camp1_pool1 error"); return } }
|
||||
{ var _ok_ bool; if _v.Camp2Pool1, _ok_ = _buf["camp2_pool1"].(string); !_ok_ { err = errors.New("camp2_pool1 error"); return } }
|
||||
{ var _ok_ bool; if _v.Camp3Pool1, _ok_ = _buf["camp3_pool1"].(string); !_ok_ { err = errors.New("camp3_pool1 error"); return } }
|
||||
{ var _ok_ bool; if _v.Camp4Pool1, _ok_ = _buf["camp4_pool1"].(string); !_ok_ { err = errors.New("camp4_pool1 error"); return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool1"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool1 error"); return }; if _v.BasePool1, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool2"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool2 error"); return }; if _v.BasePool2, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool3"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool3 error"); return }; if _v.BasePool3, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool4"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool4 error"); return }; if _v.BasePool4, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool5"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool5 error"); return }; if _v.BasePool5, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool6"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool6 error"); return }; if _v.BasePool6, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool7"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool7 error"); return }; if _v.BasePool7, err = DeserializeGamebasepool(_x_); err != nil { return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star3"].(float64); !_ok_ { err = errors.New("base_pool_star3 error"); return }; _v.BasePoolStar3 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star4"].(float64); !_ok_ { err = errors.New("base_pool_star4 error"); return }; _v.BasePoolStar4 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star5"].(float64); !_ok_ { err = errors.New("base_pool_star5 error"); return }; _v.BasePoolStar5 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star3"].(float64); !_ok_ { err = errors.New("camp_pool_star3 error"); return }; _v.CampPoolStar3 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star4"].(float64); !_ok_ { err = errors.New("camp_pool_star4 error"); return }; _v.CampPoolStar4 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star5"].(float64); !_ok_ { err = errors.New("camp_pool_star5 error"); return }; _v.CampPoolStar5 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gourmet"].(float64); !_ok_ { err = errors.New("gourmet error"); return }; _v.Gourmet = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["smithy_maxplayer"].(float64); !_ok_ { err = errors.New("smithy_maxplayer error"); return }; _v.SmithyMaxplayer = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["smithy_maxtime"].(float64); !_ok_ { err = errors.New("smithy_maxtime error"); return }; _v.SmithyMaxtime = int32(_tempNum_) }
|
||||
@ -677,35 +616,6 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["DrawCard_5StarsInRange"].([]interface{}); !_ok_ { err = errors.New("DrawCard_5StarsInRange error"); return }
|
||||
|
||||
_v.DrawCard5StarsInRange = 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.DrawCard5StarsInRange = append(_v.DrawCard5StarsInRange, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["DrawCard_5StarsInRange1"].([]interface{}); !_ok_ { err = errors.New("DrawCard_5StarsInRange1 error"); return }
|
||||
|
||||
_v.DrawCard5StarsInRange1 = 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.DrawCard5StarsInRange1 = append(_v.DrawCard5StarsInRange1, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; if _v.DrawCard5StarsInRange1Pool, _ok_ = _buf["DrawCard_5StarsInRange1_pool"].(string); !_ok_ { err = errors.New("DrawCard_5StarsInRange1_pool error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["DrawCard_ContinuousRestriction_Star5"].(float64); !_ok_ { err = errors.New("DrawCard_ContinuousRestriction_Star5 error"); return }; _v.DrawCardContinuousRestrictionStar5 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["DrawCard_ContinuousRestriction_Camp"].(float64); !_ok_ { err = errors.New("DrawCard_ContinuousRestriction_Camp error"); return }; _v.DrawCardContinuousRestrictionCamp = int32(_tempNum_) }
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user