Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
239c1756ff
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_pool5",
|
||||
"p4pool": "base_pool6",
|
||||
"p5pool": "base_pool7",
|
||||
"n3pool": "base_pool5",
|
||||
"n4pool": "base_pool6",
|
||||
"n5pool": "base_pool7",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 90,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
@ -25,9 +38,9 @@
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 200
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -35,168 +48,179 @@
|
||||
"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_pool6",
|
||||
"p4pool": "base_pool7",
|
||||
"p5pool": "base_pool8",
|
||||
"n3pool": "base_pool6",
|
||||
"n4pool": "base_pool7",
|
||||
"n5pool": "base_pool8",
|
||||
"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
|
||||
"a": "item",
|
||||
"t": "10000001",
|
||||
"n": 11
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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_pool7",
|
||||
"n4pool": "base_pool8",
|
||||
"n5pool": "base_pool9",
|
||||
"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
|
||||
"t": "10000001",
|
||||
"n": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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_pool8",
|
||||
"p4pool": "base_pool9",
|
||||
"p5pool": "base_pool10",
|
||||
"n3pool": "base_pool8",
|
||||
"n4pool": "base_pool9",
|
||||
"n5pool": "base_pool10",
|
||||
"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
|
||||
"t": "10000001",
|
||||
"n": 13
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"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_pool9",
|
||||
"p4pool": "base_pool10",
|
||||
"p5pool": "base_pool11",
|
||||
"n3pool": "base_pool9",
|
||||
"n4pool": "base_pool10",
|
||||
"n5pool": "base_pool11",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"baidi5": 0,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000023",
|
||||
"n": 1
|
||||
"t": "10000001",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000033",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"baodi4": 10,
|
||||
"baidi5": 100,
|
||||
"etime": -1,
|
||||
"permission": 1,
|
||||
"consumeA": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000024",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"consumeB": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10000034",
|
||||
"n": 10
|
||||
"t": "10000001",
|
||||
"n": 14
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -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": [
|
||||
|
@ -19,7 +19,7 @@
|
||||
"id": 2,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_2",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{1}次领取"
|
||||
},
|
||||
"day": 14,
|
||||
"groups": 1,
|
||||
@ -35,7 +35,7 @@
|
||||
"id": 3,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_3",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{2}次领取"
|
||||
},
|
||||
"day": 21,
|
||||
"groups": 1,
|
||||
@ -51,7 +51,7 @@
|
||||
"id": 4,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_4",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{3}次领取"
|
||||
},
|
||||
"day": 7,
|
||||
"groups": 2,
|
||||
@ -67,7 +67,7 @@
|
||||
"id": 5,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_5",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{4}次领取"
|
||||
},
|
||||
"day": 14,
|
||||
"groups": 2,
|
||||
@ -83,7 +83,7 @@
|
||||
"id": 6,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_6",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{5}次领取"
|
||||
},
|
||||
"day": 21,
|
||||
"groups": 2,
|
||||
@ -99,7 +99,7 @@
|
||||
"id": 7,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_7",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{6}次领取"
|
||||
},
|
||||
"day": 7,
|
||||
"groups": 3,
|
||||
@ -115,7 +115,7 @@
|
||||
"id": 8,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_8",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{7}次领取"
|
||||
},
|
||||
"day": 14,
|
||||
"groups": 3,
|
||||
@ -131,7 +131,7 @@
|
||||
"id": 9,
|
||||
"txt": {
|
||||
"key": "sign_sign_extra_txt_9",
|
||||
"text": "累计完成拼图{0}次领取"
|
||||
"text": "累计完成拼图{8}次领取"
|
||||
},
|
||||
"day": 21,
|
||||
"groups": 3,
|
||||
|
@ -1,15 +1,13 @@
|
||||
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) {
|
||||
if req.DrawType < 0 && (req.DrawCount == 1 || req.DrawCount == 10) { // 只能是单抽或10抽
|
||||
if req.DrawType < 0 || (req.DrawCount != 1 && req.DrawCount != 10) { // 只能是单抽或10抽
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
@ -21,252 +19,161 @@ func (this *apiComp) DrawCardCheck(session comm.IUserSession, req *pb.HeroDrawCa
|
||||
//抽卡
|
||||
func (this *apiComp) DrawCard(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
|
||||
szCards []string // 最终抽到的卡牌
|
||||
drawCount int32 // 抽卡次数
|
||||
szStar []int32 //星级
|
||||
costRes []*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 // 指定次数抽卡到指定卡池
|
||||
)
|
||||
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 + 1) // 获取新的抽卡配置
|
||||
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 {
|
||||
cfgGlobal = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||
if cfgGlobal == nil {
|
||||
return
|
||||
}
|
||||
if errdata = this.DrawCardCheck(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
szCards = make([]string, 0)
|
||||
|
||||
heroRecord, _ = this.module.modelRecord.GetHeroRecord(session.GetUserId())
|
||||
drawCount = heroRecord.Drawcount
|
||||
|
||||
if req.DrawType == 0 { // 普通卡池抽卡
|
||||
normalDraw = true
|
||||
// 获取普通抽卡池
|
||||
drawCount = heroRecord.Count[req.DrawType] // 获取当前阵容抽卡次数
|
||||
if true { // 普通卡池抽卡
|
||||
////// 获取消耗 star
|
||||
if req.DrawCount == 1 {
|
||||
costAtn = cfgDraw.BasePoolCost
|
||||
costRes = drawConf.ConsumeA // 单抽消耗
|
||||
} else {
|
||||
costAtn = cfgDraw.BasePool10cost
|
||||
costRes = drawConf.ConsumeB // 十连消耗
|
||||
}
|
||||
costRes = append(costRes, costAtn)
|
||||
|
||||
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星数量
|
||||
// 校验是否达到保底卡池
|
||||
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
|
||||
}
|
||||
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 {
|
||||
star5Count++
|
||||
heroRecord.Baodi5[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.P5pool)
|
||||
}
|
||||
}
|
||||
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
|
||||
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 {
|
||||
star5Count++
|
||||
heroRecord.Baodi5[req.DrawType] = 0
|
||||
strPool = append(strPool, drawConf.N5pool)
|
||||
}
|
||||
}
|
||||
|
||||
szStar = append(szStar, starIndex+3)
|
||||
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
|
||||
}
|
||||
}
|
||||
} 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
|
||||
// 判断是否必出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
|
||||
}
|
||||
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++
|
||||
} 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
|
||||
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
|
||||
|
@ -14,8 +14,8 @@ func (this *apiComp) DrawCardFloorCheck(session comm.IUserSession, req *pb.HeroD
|
||||
func (this *apiComp) DrawCardFloor(session comm.IUserSession, req *pb.HeroDrawCardFloorReq) (errdata *pb.ErrorData) {
|
||||
rsp := &pb.HeroDrawCardFloorResp{}
|
||||
if heroRecord, err := this.module.modelRecord.GetHeroRecord(session.GetUserId()); err == nil {
|
||||
rsp.Star4 = heroRecord.Star4
|
||||
rsp.Star5 = heroRecord.Star5
|
||||
rsp.Baodi4 = heroRecord.Baodi4
|
||||
rsp.Baodi5 = heroRecord.Baodi5
|
||||
rsp.Onebuy = heroRecord.Onebuy
|
||||
rsp.Tenbuy = heroRecord.Tenbuy
|
||||
}
|
||||
|
@ -1,349 +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
|
||||
costAtn *cfg.Gameatn
|
||||
heroRecord *pb.DBHeroRecord
|
||||
pool string // 当前抽对应的卡池
|
||||
atno []*pb.UserAtno // 最终获得的资源
|
||||
strPool []string // 10连跨多个卡池情况
|
||||
update map[string]interface{}
|
||||
normalDraw bool // 是否是普通抽
|
||||
)
|
||||
update = make(map[string]interface{})
|
||||
cfgDraw = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||
if cfgDraw == nil {
|
||||
return
|
||||
}
|
||||
if errdata = this.DrawCardV2Check(session, req); errdata != nil {
|
||||
return
|
||||
}
|
||||
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
|
||||
}
|
||||
costRes = append(costRes, costAtn)
|
||||
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 {
|
||||
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++
|
||||
} 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
|
||||
}
|
@ -15,37 +15,40 @@ import (
|
||||
|
||||
const moduleName = "hero"
|
||||
const (
|
||||
equip_suit = "game_equipsuit.json" //装备套装表
|
||||
new_hero = "game_hero.json" //英雄
|
||||
hero_stargrow = "game_herostargrow.json" //英雄品质系数
|
||||
hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数
|
||||
hero_starup = "game_herostarup.json" // 升星
|
||||
hero_levelup = "game_herolevelup.json" //英雄等级基础属性
|
||||
hero_exp = "game_heroexp.json" // 升级
|
||||
hero_skillup = "game_heroskilllevel.json" // 英雄技能升级
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
hero_drawupdraw = "game_drawupdraw.json" // 抽卡概率调整
|
||||
hero_drawcost = "game_drawcost.json" // 抽卡消耗
|
||||
hero_fusion = "game_herofusion.json" // 卡牌融合
|
||||
hero_talent = "game_herotalent.json" // 天赋详细数据
|
||||
hero_talentbox = "game_talentbox.json" // 天赋详细数据
|
||||
equip_suit = "game_equipsuit.json" //装备套装表
|
||||
new_hero = "game_hero.json" //英雄
|
||||
hero_stargrow = "game_herostargrow.json" //英雄品质系数
|
||||
hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数
|
||||
hero_starup = "game_herostarup.json" // 升星
|
||||
hero_levelup = "game_herolevelup.json" //英雄等级基础属性
|
||||
hero_exp = "game_heroexp.json" // 升级
|
||||
hero_skillup = "game_heroskilllevel.json" // 英雄技能升级
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
//hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
hero_drawupdraw = "game_drawupdraw.json" // 抽卡概率调整
|
||||
hero_drawcost = "game_drawcost.json" // 抽卡消耗
|
||||
hero_fusion = "game_herofusion.json" // 卡牌融合
|
||||
hero_talent = "game_herotalent.json" // 天赋详细数据
|
||||
hero_talentbox = "game_talentbox.json" // 天赋详细数据
|
||||
game_shopitem = "game_shopitem.json"
|
||||
hero_skill = "game_heroskill.json"
|
||||
|
||||
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 星级
|
||||
awakenMap map[int64]*cfg.GameHeroAwakenData
|
||||
starMap map[int64]*cfg.GameHeroStarupData
|
||||
module *Hero
|
||||
hlock sync.RWMutex
|
||||
//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
|
||||
}
|
||||
|
||||
// 组件初始化接口
|
||||
@ -54,24 +57,24 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
err = this.MCompConfigure.Init(service, module, comp, options)
|
||||
this.module = module.(*Hero)
|
||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||
equip_suit: cfg.NewGameEquipSuit,
|
||||
new_hero: cfg.NewGameHero,
|
||||
hero_stargrow: cfg.NewGameHeroStargrow,
|
||||
hero_levelgrow: cfg.NewGameHeroLevelgrow,
|
||||
hero_levelup: cfg.NewGameHeroLevelup,
|
||||
hero_exp: cfg.NewGameHeroExp,
|
||||
hero_skillup: cfg.NewGameHeroSkillLevel,
|
||||
game_skillatk: cfg.NewGameSkillAtk,
|
||||
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,
|
||||
equip_suit: cfg.NewGameEquipSuit,
|
||||
new_hero: cfg.NewGameHero,
|
||||
hero_stargrow: cfg.NewGameHeroStargrow,
|
||||
hero_levelgrow: cfg.NewGameHeroLevelgrow,
|
||||
hero_levelup: cfg.NewGameHeroLevelup,
|
||||
hero_exp: cfg.NewGameHeroExp,
|
||||
hero_skillup: cfg.NewGameHeroSkillLevel,
|
||||
game_skillatk: cfg.NewGameSkillAtk,
|
||||
//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,
|
||||
})
|
||||
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 (
|
||||
@ -411,6 +446,7 @@ func (this *configureComp) GetHeroDrawConfigByType(id int32) (data *cfg.GameDraw
|
||||
if v, err = this.GetConfigure(hero_draw); err == nil {
|
||||
if conf, ok := v.(*cfg.GameDrawPool); ok {
|
||||
if data = conf.Get(id); data != nil {
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -419,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 {
|
||||
return
|
||||
} else {
|
||||
if len(conf.GetDataList()) > 0 {
|
||||
data = conf.GetDataList()[len(conf.GetDataList())-1]
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
||||
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 {
|
||||
|
||||
|
@ -36,6 +36,9 @@ func (this *ModelRecord) GetHeroRecord(uid string) (result *pb.DBHeroRecord, err
|
||||
result.Condition = map[string]int32{}
|
||||
result.Star5Hero = map[string]int32{}
|
||||
result.Race = map[int32]int32{}
|
||||
result.Baodi4 = map[int32]int32{}
|
||||
result.Baodi5 = map[int32]int32{}
|
||||
result.Count = map[int32]int32{}
|
||||
result.Mtime = configure.Now().Unix()
|
||||
this.Add(uid, result)
|
||||
err = nil
|
||||
|
@ -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 < 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
|
||||
for i := 0; i < 99; i++ {
|
||||
if newCid, err := this.configure.GetHeroByPool(pool); err != nil {
|
||||
if newCid != heroCid {
|
||||
return newCid
|
||||
}
|
||||
}
|
||||
}
|
||||
record.Star5Hero[heroid] = drawCount
|
||||
update["star5Hero"] = record.Star5Hero
|
||||
this.modelRecord.ChangeHeroRecord(uid, update) // 更新信息
|
||||
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
|
||||
|
234
pb/hero_db.pb.go
234
pb/hero_db.pb.go
@ -319,21 +319,20 @@ type DBHeroRecord struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID 主键id
|
||||
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
|
||||
Star4 int32 `protobuf:"varint,3,opt,name=star4,proto3" json:"star4"` // 4星保底
|
||||
Star5 int32 `protobuf:"varint,4,opt,name=star5,proto3" json:"star5"` // 5星保底
|
||||
Mtime int64 `protobuf:"varint,5,opt,name=mtime,proto3" json:"mtime"` // 修改时间
|
||||
Drawcount int32 `protobuf:"varint,6,opt,name=drawcount,proto3" json:"drawcount"` // 普通卡牌累计抽取次数
|
||||
Condition map[string]int32 `protobuf:"bytes,7,rep,name=condition,proto3" json:"condition" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key recharge、login 等 value 累计抽卡次数
|
||||
Star5Hero map[string]int32 `protobuf:"bytes,8,rep,name=star5Hero,proto3" json:"star5Hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 第totalcount 次抽到的5星英雄 key 英雄id
|
||||
Totalcount int32 `protobuf:"varint,9,opt,name=totalcount,proto3" json:"totalcount"` // 总的累计抽卡次数
|
||||
Daycount int32 `protobuf:"varint,10,opt,name=daycount,proto3" json:"daycount"` // 今天抽卡次数
|
||||
Onebuy int32 `protobuf:"varint,11,opt,name=onebuy,proto3" json:"onebuy"` // 单次购买次数
|
||||
Tenbuy int32 `protobuf:"varint,12,opt,name=tenbuy,proto3" json:"tenbuy"` // 十连购买次数
|
||||
Inevitable int32 `protobuf:"varint,13,opt,name=inevitable,proto3" json:"inevitable"` //第2-30次抽奖必出一个5星英雄
|
||||
Inevitable1 int32 `protobuf:"varint,14,opt,name=inevitable1,proto3" json:"inevitable1"` //第30-50次抽奖必出一个5星英雄
|
||||
Race map[int32]int32 `protobuf:"bytes,15,rep,name=race,proto3" json:"race" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 阵营类型 value count
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID 主键id
|
||||
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
|
||||
Mtime int64 `protobuf:"varint,3,opt,name=mtime,proto3" json:"mtime"` // 修改时间
|
||||
Drawcount int32 `protobuf:"varint,4,opt,name=drawcount,proto3" json:"drawcount"` // 普通卡牌累计抽取次数
|
||||
Condition map[string]int32 `protobuf:"bytes,5,rep,name=condition,proto3" json:"condition" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key recharge、login 等 value 累计抽卡次数
|
||||
Star5Hero map[string]int32 `protobuf:"bytes,6,rep,name=star5Hero,proto3" json:"star5Hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 第totalcount 次抽到的5星英雄 key 英雄id
|
||||
Totalcount int32 `protobuf:"varint,7,opt,name=totalcount,proto3" json:"totalcount"` // 总的累计抽卡次数
|
||||
Daycount int32 `protobuf:"varint,8,opt,name=daycount,proto3" json:"daycount"` // 今天抽卡次数
|
||||
Onebuy int32 `protobuf:"varint,9,opt,name=onebuy,proto3" json:"onebuy"` // 单次购买次数
|
||||
Tenbuy int32 `protobuf:"varint,10,opt,name=tenbuy,proto3" json:"tenbuy"` // 十连购买次数
|
||||
Race map[int32]int32 `protobuf:"bytes,11,rep,name=race,proto3" json:"race" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 阵营类型 value count
|
||||
Baodi4 map[int32]int32 `protobuf:"bytes,12,rep,name=baodi4,proto3" json:"baodi4" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 4星保底次数 key 阵营类型 value count
|
||||
Baodi5 map[int32]int32 `protobuf:"bytes,13,rep,name=baodi5,proto3" json:"baodi5" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 5星保底次数 key 阵营类型 value count
|
||||
Count map[int32]int32 `protobuf:"bytes,14,rep,name=count,proto3" json:"count" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 抽卡次数 key 阵营类型 value count
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) Reset() {
|
||||
@ -382,20 +381,6 @@ func (x *DBHeroRecord) GetUid() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetStar4() int32 {
|
||||
if x != nil {
|
||||
return x.Star4
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetStar5() int32 {
|
||||
if x != nil {
|
||||
return x.Star5
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetMtime() int64 {
|
||||
if x != nil {
|
||||
return x.Mtime
|
||||
@ -452,20 +437,6 @@ func (x *DBHeroRecord) GetTenbuy() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetInevitable() int32 {
|
||||
if x != nil {
|
||||
return x.Inevitable
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetInevitable1() int32 {
|
||||
if x != nil {
|
||||
return x.Inevitable1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetRace() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Race
|
||||
@ -473,6 +444,27 @@ func (x *DBHeroRecord) GetRace() map[int32]int32 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetBaodi4() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Baodi4
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetBaodi5() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Baodi5
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBHeroRecord) GetCount() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 英雄天赋系统
|
||||
type DBHeroTalent struct {
|
||||
state protoimpl.MessageState
|
||||
@ -634,64 +626,78 @@ var file_hero_hero_db_proto_rawDesc = []byte{
|
||||
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,
|
||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x06, 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,
|
||||
0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x04, 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,
|
||||
0x05, 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, 0x06, 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,
|
||||
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, 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||
0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b,
|
||||
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, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x18, 0x0c, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
|
||||
0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35,
|
||||
0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 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, 0x1a, 0x39,
|
||||
0x0a, 0x0b, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x34, 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, 0x1a, 0x39, 0x0a, 0x0b, 0x42, 0x61, 0x6f,
|
||||
0x64, 0x69, 0x35, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 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, 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,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -707,7 +713,7 @@ 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, 13)
|
||||
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
||||
var file_hero_hero_db_proto_goTypes = []interface{}{
|
||||
(HeroType)(0), // 0: HeroType
|
||||
(*DBHero)(nil), // 1: DBHero
|
||||
@ -722,30 +728,36 @@ 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
|
||||
(*DB_EquipmentSuit)(nil), // 15: DB_EquipmentSuit
|
||||
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
|
||||
}
|
||||
var file_hero_hero_db_proto_depIdxs = []int32{
|
||||
14, // 0: DBHero.normalSkill:type_name -> SkillData
|
||||
17, // 0: DBHero.normalSkill:type_name -> SkillData
|
||||
4, // 1: DBHero.property:type_name -> DBHero.PropertyEntry
|
||||
5, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry
|
||||
6, // 3: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry
|
||||
0, // 4: DBHero.status:type_name -> HeroType
|
||||
15, // 5: DBHero.suits:type_name -> DB_EquipmentSuit
|
||||
18, // 5: DBHero.suits:type_name -> DB_EquipmentSuit
|
||||
7, // 6: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry
|
||||
14, // 7: DBHero.equipSkill:type_name -> SkillData
|
||||
17, // 7: DBHero.equipSkill:type_name -> SkillData
|
||||
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
|
||||
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
|
||||
13, // 13: DBHeroRecord.baodi4:type_name -> DBHeroRecord.Baodi4Entry
|
||||
14, // 14: DBHeroRecord.baodi5:type_name -> DBHeroRecord.Baodi5Entry
|
||||
15, // 15: DBHeroRecord.count:type_name -> DBHeroRecord.CountEntry
|
||||
16, // 16: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry
|
||||
17, // [17:17] is the sub-list for method output_type
|
||||
17, // [17:17] is the sub-list for method input_type
|
||||
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
|
||||
}
|
||||
|
||||
func init() { file_hero_hero_db_proto_init() }
|
||||
@ -799,7 +811,7 @@ func file_hero_hero_db_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_hero_hero_db_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 13,
|
||||
NumMessages: 16,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
@ -1193,10 +1193,10 @@ type HeroDrawCardFloorResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Star4 int32 `protobuf:"varint,1,opt,name=star4,proto3" json:"star4"`
|
||||
Star5 int32 `protobuf:"varint,2,opt,name=star5,proto3" json:"star5"`
|
||||
Onebuy int32 `protobuf:"varint,3,opt,name=onebuy,proto3" json:"onebuy"` // 单次购买次数
|
||||
Tenbuy int32 `protobuf:"varint,4,opt,name=tenbuy,proto3" json:"tenbuy"` // 十连购买次数
|
||||
Baodi4 map[int32]int32 `protobuf:"bytes,1,rep,name=baodi4,proto3" json:"baodi4" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 4星保底次数 key 阵营类型 value count
|
||||
Baodi5 map[int32]int32 `protobuf:"bytes,2,rep,name=baodi5,proto3" json:"baodi5" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 5星保底次数 key 阵营类型 value count
|
||||
Onebuy int32 `protobuf:"varint,3,opt,name=onebuy,proto3" json:"onebuy"` // 单次购买次数
|
||||
Tenbuy int32 `protobuf:"varint,4,opt,name=tenbuy,proto3" json:"tenbuy"` // 十连购买次数
|
||||
}
|
||||
|
||||
func (x *HeroDrawCardFloorResp) Reset() {
|
||||
@ -1231,18 +1231,18 @@ func (*HeroDrawCardFloorResp) Descriptor() ([]byte, []int) {
|
||||
return file_hero_hero_msg_proto_rawDescGZIP(), []int{23}
|
||||
}
|
||||
|
||||
func (x *HeroDrawCardFloorResp) GetStar4() int32 {
|
||||
func (x *HeroDrawCardFloorResp) GetBaodi4() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Star4
|
||||
return x.Baodi4
|
||||
}
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *HeroDrawCardFloorResp) GetStar5() int32 {
|
||||
func (x *HeroDrawCardFloorResp) GetBaodi5() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Star5
|
||||
return x.Baodi5
|
||||
}
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *HeroDrawCardFloorResp) GetOnebuy() int32 {
|
||||
@ -1940,63 +1940,75 @@ var file_hero_hero_msg_proto_rawDesc = []byte{
|
||||
0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73,
|
||||
0x74, 0x22, 0x16, 0x0a, 0x14, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72,
|
||||
0x64, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x22, 0x73, 0x0a, 0x15, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65,
|
||||
0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72,
|
||||
0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||
0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x22, 0x92,
|
||||
0x01, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x48, 0x65, 0x72,
|
||||
0x6f, 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, 0x28, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x13, 0x0a,
|
||||
0x11, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||
0x65, 0x71, 0x22, 0x3b, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x6e,
|
||||
0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x22,
|
||||
0x5e, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x61,
|
||||
0x72, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x44, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69,
|
||||
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x22,
|
||||
0x58, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x61,
|
||||
0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54,
|
||||
0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x2a, 0x0a, 0x12, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x6f, 0x62, 0x6a, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c,
|
||||
0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06,
|
||||
0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
|
||||
0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c,
|
||||
0x6e, 0x65, 0x74, 0x22, 0x42, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x75, 0x79, 0x52, 0x65,
|
||||
0x71, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x07, 0x62, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62,
|
||||
0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62,
|
||||
0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x42,
|
||||
0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||
0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x22, 0x2a,
|
||||
0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x47, 0x65, 0x74, 0x50, 0x75,
|
||||
0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03,
|
||||
0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x64, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x22, 0xb5, 0x02, 0x0a, 0x15, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52,
|
||||
0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61,
|
||||
0x72, 0x64, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x42, 0x61, 0x6f, 0x64,
|
||||
0x69, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x12,
|
||||
0x3a, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x22, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x46, 0x6c,
|
||||
0x6f, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x12, 0x16, 0x0a, 0x06, 0x6f,
|
||||
0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x6e, 0x65,
|
||||
0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x42,
|
||||
0x61, 0x6f, 0x64, 0x69, 0x34, 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, 0x1a, 0x39, 0x0a, 0x0b, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35,
|
||||
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, 0x92, 0x01, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x68,
|
||||
0x65, 0x72, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x73,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x1a, 0x38, 0x0a, 0x0a,
|
||||
0x48, 0x65, 0x72, 0x6f, 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, 0x28, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64,
|
||||
0x22, 0x13, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3b, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c,
|
||||
0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x74,
|
||||
0x65, 0x6c, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e,
|
||||
0x65, 0x74, 0x22, 0x5e, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x6c, 0x65,
|
||||
0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65,
|
||||
0x6e, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x69, 0x64, 0x22, 0x58, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
|
||||
0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x65, 0x6c,
|
||||
0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x2a, 0x0a, 0x12,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52,
|
||||
0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
|
||||
0x25, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06,
|
||||
0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x22, 0x42, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x75,
|
||||
0x79, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x62, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x0b, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53,
|
||||
0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63,
|
||||
0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e,
|
||||
0x62, 0x75, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75,
|
||||
0x79, 0x22, 0x2a, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x47, 0x65,
|
||||
0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -2011,7 +2023,7 @@ func file_hero_hero_msg_proto_rawDescGZIP() []byte {
|
||||
return file_hero_hero_msg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
|
||||
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
|
||||
var file_hero_hero_msg_proto_goTypes = []interface{}{
|
||||
(*HeroInfoReq)(nil), // 0: HeroInfoReq
|
||||
(*HeroInfoResp)(nil), // 1: HeroInfoResp
|
||||
@ -2052,36 +2064,40 @@ var file_hero_hero_msg_proto_goTypes = []interface{}{
|
||||
nil, // 36: HeroStrengthenUpSkillReq.ItemEntry
|
||||
nil, // 37: HeroPropertyPush.PropertyEntry
|
||||
nil, // 38: HeroPropertyPush.AddPropertyEntry
|
||||
nil, // 39: HeroFusionReq.HerosEntry
|
||||
(*DBHero)(nil), // 40: DBHero
|
||||
(*UserAtno)(nil), // 41: UserAtno
|
||||
(*DBHeroTalent)(nil), // 42: DBHeroTalent
|
||||
nil, // 39: HeroDrawCardFloorResp.Baodi4Entry
|
||||
nil, // 40: HeroDrawCardFloorResp.Baodi5Entry
|
||||
nil, // 41: HeroFusionReq.HerosEntry
|
||||
(*DBHero)(nil), // 42: DBHero
|
||||
(*UserAtno)(nil), // 43: UserAtno
|
||||
(*DBHeroTalent)(nil), // 44: DBHeroTalent
|
||||
}
|
||||
var file_hero_hero_msg_proto_depIdxs = []int32{
|
||||
40, // 0: HeroInfoResp.base:type_name -> DBHero
|
||||
40, // 1: HeroListResp.list:type_name -> DBHero
|
||||
42, // 0: HeroInfoResp.base:type_name -> DBHero
|
||||
42, // 1: HeroListResp.list:type_name -> DBHero
|
||||
35, // 2: HeroStrengthenUplvReq.item:type_name -> HeroStrengthenUplvReq.ItemEntry
|
||||
40, // 3: HeroStrengthenUplvResp.hero:type_name -> DBHero
|
||||
40, // 4: HeroStrengthenUpStarResp.hero:type_name -> DBHero
|
||||
42, // 3: HeroStrengthenUplvResp.hero:type_name -> DBHero
|
||||
42, // 4: HeroStrengthenUpStarResp.hero:type_name -> DBHero
|
||||
36, // 5: HeroStrengthenUpSkillReq.item:type_name -> HeroStrengthenUpSkillReq.ItemEntry
|
||||
40, // 6: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
|
||||
40, // 7: HeroAwakenResp.hero:type_name -> DBHero
|
||||
42, // 6: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
|
||||
42, // 7: HeroAwakenResp.hero:type_name -> DBHero
|
||||
37, // 8: HeroPropertyPush.property:type_name -> HeroPropertyPush.PropertyEntry
|
||||
38, // 9: HeroPropertyPush.addProperty:type_name -> HeroPropertyPush.AddPropertyEntry
|
||||
40, // 10: HeroLockResp.hero:type_name -> DBHero
|
||||
40, // 11: HeroGetSpecifiedResp.hero:type_name -> DBHero
|
||||
41, // 12: AtnoData.atno:type_name -> UserAtno
|
||||
42, // 10: HeroLockResp.hero:type_name -> DBHero
|
||||
42, // 11: HeroGetSpecifiedResp.hero:type_name -> DBHero
|
||||
43, // 12: AtnoData.atno:type_name -> UserAtno
|
||||
19, // 13: HeroDrawCardResp.data:type_name -> AtnoData
|
||||
40, // 14: HeroChangePush.list:type_name -> DBHero
|
||||
39, // 15: HeroFusionReq.heros:type_name -> HeroFusionReq.HerosEntry
|
||||
42, // 16: HeroTalentListResp.telnet:type_name -> DBHeroTalent
|
||||
42, // 17: HeroTalentLearnResp.telnet:type_name -> DBHeroTalent
|
||||
42, // 18: HeroTalentResetResp.telnet:type_name -> DBHeroTalent
|
||||
19, // [19:19] is the sub-list for method output_type
|
||||
19, // [19:19] is the sub-list for method input_type
|
||||
19, // [19:19] is the sub-list for extension type_name
|
||||
19, // [19:19] is the sub-list for extension extendee
|
||||
0, // [0:19] is the sub-list for field type_name
|
||||
42, // 14: HeroChangePush.list:type_name -> DBHero
|
||||
39, // 15: HeroDrawCardFloorResp.baodi4:type_name -> HeroDrawCardFloorResp.Baodi4Entry
|
||||
40, // 16: HeroDrawCardFloorResp.baodi5:type_name -> HeroDrawCardFloorResp.Baodi5Entry
|
||||
41, // 17: HeroFusionReq.heros:type_name -> HeroFusionReq.HerosEntry
|
||||
44, // 18: HeroTalentListResp.telnet:type_name -> DBHeroTalent
|
||||
44, // 19: HeroTalentLearnResp.telnet:type_name -> DBHeroTalent
|
||||
44, // 20: HeroTalentResetResp.telnet:type_name -> DBHeroTalent
|
||||
21, // [21:21] is the sub-list for method output_type
|
||||
21, // [21:21] is the sub-list for method input_type
|
||||
21, // [21:21] is the sub-list for extension type_name
|
||||
21, // [21:21] is the sub-list for extension extendee
|
||||
0, // [0:21] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_hero_hero_msg_proto_init() }
|
||||
@ -2519,7 +2535,7 @@ func file_hero_hero_msg_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_hero_hero_msg_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 40,
|
||||
NumMessages: 42,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
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