This commit is contained in:
meixiongfeng 2023-07-25 19:33:23 +08:00
commit ddd0dd5b5d
51 changed files with 5019 additions and 2750 deletions

View File

@ -24934,5 +24934,311 @@
"value": 3,
"filter": [],
"filter2": []
},
{
"id": 50000011,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_879",
"text": "完成一次考试1"
},
"type": 204,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60011,
"value": 1,
"filter": [],
"filter2": []
},
{
"id": 50000012,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_880",
"text": "做一份烤乳猪1"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60021,
"value": 1,
"filter": [
14020009
],
"filter2": []
},
{
"id": 50000013,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_881",
"text": "(委托)拿到萝卜1"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60031,
"value": 2,
"filter": [
14010006
],
"filter2": []
},
{
"id": 50000014,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_882",
"text": "清理魔药区怪物1"
},
"type": 70,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60041,
"value": 1,
"filter": [
501
],
"filter2": []
},
{
"id": 50000015,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_883",
"text": "清理公会怪物1"
},
"type": 70,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60051,
"value": 1,
"filter": [
502
],
"filter2": []
},
{
"id": 50000016,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_884",
"text": "完成一次考试2"
},
"type": 204,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60061,
"value": 1,
"filter": [],
"filter2": []
},
{
"id": 50000017,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_885",
"text": "做一份烤乳猪2"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60071,
"value": 1,
"filter": [
14020009
],
"filter2": []
},
{
"id": 50000018,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_886",
"text": "(委托)拿到萝卜2"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60081,
"value": 2,
"filter": [
14010006
],
"filter2": []
},
{
"id": 50000019,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_887",
"text": "清理魔药区怪物2"
},
"type": 70,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60091,
"value": 1,
"filter": [
503
],
"filter2": []
},
{
"id": 50000020,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_888",
"text": "清理公会怪物2"
},
"type": 70,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60101,
"value": 1,
"filter": [
504
],
"filter2": []
},
{
"id": 50000021,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_889",
"text": "完成一次考试3"
},
"type": 204,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60111,
"value": 1,
"filter": [],
"filter2": []
},
{
"id": 50000022,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_890",
"text": "做一份烤乳猪3"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60121,
"value": 1,
"filter": [
14020009
],
"filter2": []
},
{
"id": 50000023,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_891",
"text": "(委托)拿到萝卜3"
},
"type": 187,
"valid": 0,
"head": {
"a": "attr",
"t": "gold",
"n": 1
},
"NPC": 60131,
"value": 2,
"filter": [
14010006
],
"filter2": []
}
]

View File

@ -1,46 +1,68 @@
[
{
"Id": 1,
"GroupId": 1001001,
"GroupId": 16010101,
"GroupType": 2,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupType": 1,
"EventID": 10000001,
"EventID": 16010101,
"SubGroupNum": 1,
"EventWt": 50
},
{
"Id": 2,
"GroupId": 1001001,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"EventID": 10000002,
"EventID": 14110101,
"SubGroupNum": 0,
"EventWt": 100
"EventWt": 0
},
{
"Id": 3,
"GroupId": 1001001,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 1000,
"SubGroupId": 1002,
"SubGroupType": 2,
"EventID": 10000003,
"SubGroupNum": 2,
"EventWt": 500
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"EventID": 14110102,
"SubGroupNum": 0,
"EventWt": 0
},
{
"Id": 4,
"GroupId": 1001001,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 1000,
"SubGroupId": 1002,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"EventID": 10000004,
"EventID": 14110103,
"SubGroupNum": 0,
"EventWt": 500
"EventWt": 0
},
{
"Id": 5,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"EventID": 14110104,
"SubGroupNum": 0,
"EventWt": 0
},
{
"Id": 6,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"EventID": 14110105,
"SubGroupNum": 0,
"EventWt": 0
}
]

View File

@ -14679,5 +14679,42 @@
"n": 1000
}
]
},
{
"id": "10000036",
"name": {
"key": "item_item_name_347",
"text": "石阵玩法货币"
},
"usetype": 1,
"color": 5,
"bagtype": 1,
"index": 1,
"special_type": 0,
"time": 0,
"reddottype": 0,
"effects": "",
"modelName": "",
"box_id": 0,
"synthetize_num": 0,
"synthetize_deplete": [],
"synthetize_get": [],
"decompose_deplete": [],
"decompose_get": [],
"access": [],
"use_skip": 0,
"upper_limit": 0,
"img": "item_10000035",
"intr": {
"key": "item_item_intr_378",
"text": "暂无包装"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
}
]

View File

@ -23470,5 +23470,29 @@
"playerlvmin": 0,
"playerlvmax": 0,
"notice": 0
},
{
"id": 979,
"lotteryid": 21160001,
"description": "石阵秘境捡垃圾事件",
"type": 2,
"groupwt": 1000,
"groupid": 10001,
"subtype": 1,
"groupnum": 1,
"itemid": {
"a": "item",
"t": "10000036",
"n": 1
},
"itemdes": "石阵玩法货币",
"itemwt": 1000,
"min": 5,
"max": 10,
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 0,
"notice": 0
}
]

View File

@ -28,12 +28,7 @@
"key": "opencond_opencond_name_2",
"text": "守护者回响"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 2,
"kqbx": 0,
"img": "zc_icon_01",
@ -120,12 +115,7 @@
"key": "opencond_opencond_name_6",
"text": "商城"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 2,
"kqbx": 0,
"img": "zc_icon_01",
@ -580,12 +570,7 @@
"key": "opencond_opencond_name_26",
"text": "藏书馆"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 2,
"kqbx": 0,
"img": "zc_icon_01",
@ -695,12 +680,7 @@
"key": "opencond_opencond_name_31",
"text": "狩猎"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "zc_icon_01",
@ -764,12 +744,7 @@
"key": "opencond_opencond_name_34",
"text": "公会聊天"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "zc_icon_01",
@ -879,12 +854,7 @@
"key": "opencond_opencond_name_39",
"text": "竞技场"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "zc_icon_01",
@ -1251,10 +1221,6 @@
{
"key": 1,
"param": 1
},
{
"key": 2,
"param": 1100101
}
],
"wkqbx": 0,
@ -1389,12 +1355,7 @@
"key": "opencond_opencond_name_61",
"text": "维京远征总入口"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 1,
"kqbx": 0,
"img": "zc_icon_01",
@ -1504,12 +1465,7 @@
"key": "opencond_opencond_name_66",
"text": "功夫大师挑战塔"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 1,
"kqbx": 0,
"img": "",
@ -1625,12 +1581,7 @@
"key": "opencond_opencond_name_71",
"text": "经验副本"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "",
@ -1702,10 +1653,6 @@
{
"key": 1,
"param": 1
},
{
"key": 2,
"param": 1100101
}
],
"wkqbx": 0,
@ -1729,10 +1676,6 @@
{
"key": 1,
"param": 1
},
{
"key": 2,
"param": 1100101
}
],
"wkqbx": 0,
@ -1752,12 +1695,7 @@
"key": "opencond_opencond_name_76",
"text": "波比周常"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "",
@ -1776,10 +1714,6 @@
"text": "每日一练"
},
"main": [
{
"key": 2,
"param": 1100101
},
{
"key": 3,
"param": 20080
@ -1802,12 +1736,7 @@
"key": "opencond_opencond_name_78",
"text": "悬赏任务"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "",
@ -1843,12 +1772,7 @@
"key": "opencond_opencond_name_80",
"text": "烹饪功能"
},
"main": [
{
"key": 2,
"param": 1100101
}
],
"main": [],
"wkqbx": 0,
"kqbx": 0,
"img": "",

View File

@ -5,7 +5,8 @@
"reward": [],
"ps_ceiling": 180,
"cops_ps_ceiling": 60,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 2,
@ -24,7 +25,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 62,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 3,
@ -43,7 +45,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 64,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 4,
@ -62,7 +65,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 66,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 5,
@ -81,7 +85,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 68,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 6,
@ -100,7 +105,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 70,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 7,
@ -119,7 +125,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 72,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 8,
@ -138,7 +145,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 74,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 9,
@ -157,7 +165,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 76,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 10,
@ -176,7 +185,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 78,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 11,
@ -195,7 +205,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 80,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 12,
@ -214,7 +225,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 82,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 13,
@ -233,7 +245,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 84,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 14,
@ -252,7 +265,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 86,
"hero_lv": 20
"hero_lv": 20,
"guild_boss_ceiling": 1
},
{
"lv": 15,
@ -271,7 +285,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 88,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 16,
@ -290,7 +305,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 90,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 17,
@ -309,7 +325,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 92,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 18,
@ -328,7 +345,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 94,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 19,
@ -347,7 +365,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 96,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 20,
@ -366,7 +385,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 98,
"hero_lv": 25
"hero_lv": 25,
"guild_boss_ceiling": 1
},
{
"lv": 21,
@ -385,7 +405,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 100,
"hero_lv": 30
"hero_lv": 30,
"guild_boss_ceiling": 2
},
{
"lv": 22,
@ -404,7 +425,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 102,
"hero_lv": 30
"hero_lv": 30,
"guild_boss_ceiling": 2
},
{
"lv": 23,
@ -423,7 +445,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 104,
"hero_lv": 30
"hero_lv": 30,
"guild_boss_ceiling": 2
},
{
"lv": 24,
@ -442,7 +465,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 106,
"hero_lv": 30
"hero_lv": 30,
"guild_boss_ceiling": 2
},
{
"lv": 25,
@ -461,7 +485,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 108,
"hero_lv": 30
"hero_lv": 30,
"guild_boss_ceiling": 2
},
{
"lv": 26,
@ -480,7 +505,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 110,
"hero_lv": 35
"hero_lv": 35,
"guild_boss_ceiling": 2
},
{
"lv": 27,
@ -499,7 +525,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 112,
"hero_lv": 35
"hero_lv": 35,
"guild_boss_ceiling": 2
},
{
"lv": 28,
@ -518,7 +545,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 114,
"hero_lv": 35
"hero_lv": 35,
"guild_boss_ceiling": 2
},
{
"lv": 29,
@ -537,7 +565,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 116,
"hero_lv": 35
"hero_lv": 35,
"guild_boss_ceiling": 2
},
{
"lv": 30,
@ -556,7 +585,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 118,
"hero_lv": 35
"hero_lv": 35,
"guild_boss_ceiling": 2
},
{
"lv": 31,
@ -575,7 +605,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 120,
"hero_lv": 40
"hero_lv": 40,
"guild_boss_ceiling": 2
},
{
"lv": 32,
@ -594,7 +625,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 122,
"hero_lv": 40
"hero_lv": 40,
"guild_boss_ceiling": 2
},
{
"lv": 33,
@ -613,7 +645,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 124,
"hero_lv": 40
"hero_lv": 40,
"guild_boss_ceiling": 2
},
{
"lv": 34,
@ -632,7 +665,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 126,
"hero_lv": 40
"hero_lv": 40,
"guild_boss_ceiling": 2
},
{
"lv": 35,
@ -651,7 +685,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 128,
"hero_lv": 40
"hero_lv": 40,
"guild_boss_ceiling": 2
},
{
"lv": 36,
@ -670,7 +705,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 130,
"hero_lv": 45
"hero_lv": 45,
"guild_boss_ceiling": 2
},
{
"lv": 37,
@ -689,7 +725,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 132,
"hero_lv": 45
"hero_lv": 45,
"guild_boss_ceiling": 2
},
{
"lv": 38,
@ -708,7 +745,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 134,
"hero_lv": 45
"hero_lv": 45,
"guild_boss_ceiling": 2
},
{
"lv": 39,
@ -727,7 +765,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 136,
"hero_lv": 45
"hero_lv": 45,
"guild_boss_ceiling": 2
},
{
"lv": 40,
@ -746,7 +785,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 138,
"hero_lv": 45
"hero_lv": 45,
"guild_boss_ceiling": 2
},
{
"lv": 41,
@ -765,7 +805,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 140,
"hero_lv": 50
"hero_lv": 50,
"guild_boss_ceiling": 3
},
{
"lv": 42,
@ -784,7 +825,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 142,
"hero_lv": 50
"hero_lv": 50,
"guild_boss_ceiling": 3
},
{
"lv": 43,
@ -803,7 +845,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 144,
"hero_lv": 50
"hero_lv": 50,
"guild_boss_ceiling": 3
},
{
"lv": 44,
@ -822,7 +865,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 146,
"hero_lv": 50
"hero_lv": 50,
"guild_boss_ceiling": 3
},
{
"lv": 45,
@ -841,7 +885,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 148,
"hero_lv": 50
"hero_lv": 50,
"guild_boss_ceiling": 3
},
{
"lv": 46,
@ -860,7 +905,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 150,
"hero_lv": 55
"hero_lv": 55,
"guild_boss_ceiling": 3
},
{
"lv": 47,
@ -879,7 +925,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 152,
"hero_lv": 55
"hero_lv": 55,
"guild_boss_ceiling": 3
},
{
"lv": 48,
@ -898,7 +945,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 154,
"hero_lv": 55
"hero_lv": 55,
"guild_boss_ceiling": 3
},
{
"lv": 49,
@ -917,7 +965,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 156,
"hero_lv": 55
"hero_lv": 55,
"guild_boss_ceiling": 3
},
{
"lv": 50,
@ -936,7 +985,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 158,
"hero_lv": 55
"hero_lv": 55,
"guild_boss_ceiling": 3
},
{
"lv": 51,
@ -955,7 +1005,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 160,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 52,
@ -974,7 +1025,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 162,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 53,
@ -993,7 +1045,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 164,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 54,
@ -1012,7 +1065,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 166,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 55,
@ -1031,7 +1085,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 168,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 56,
@ -1050,7 +1105,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 170,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 57,
@ -1069,7 +1125,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 172,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 58,
@ -1088,7 +1145,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 174,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 59,
@ -1107,7 +1165,8 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 176,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
},
{
"lv": 60,
@ -1126,6 +1185,7 @@
],
"ps_ceiling": 180,
"cops_ps_ceiling": 178,
"hero_lv": 60
"hero_lv": 60,
"guild_boss_ceiling": 3
}
]

View File

@ -60,7 +60,7 @@
"heroid": 14003,
"datas": [
"GameMain",
"功能入口-捕羊大赛",
"功能入口-招募",
"901"
],
"event": [
@ -5838,5 +5838,551 @@
50010100
],
"goto": 0
},
{
"id": 60010,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60011,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60018,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60020,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60021,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60028,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60030,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60031,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60038,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60040,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60041,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60048,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60050,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60051,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60058,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60060,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60061,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60068,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60070,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60071,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60078,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60080,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60081,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60088,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60090,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60091,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60098,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-邮件",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60100,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60101,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60108,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60110,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60111,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60118,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60120,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60121,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60128,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60130,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12890
],
"goto": 0
},
{
"id": 60131,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
12960
],
"goto": 0
},
{
"id": 60138,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-狩猎",
"901"
],
"event": [
2,
13010
],
"goto": 0
}
]

View File

@ -1,8 +1,9 @@
[
{
"BuffId": 143006311,
"BuffId": 143006310,
"BuffGroupId": 1001,
"Type": 1,
"SkillId": 143006311,
"BuffLevel": 1,
"Quality": 1,
"BuffIcon": "",
@ -11,20 +12,21 @@
"text": "描述描述描述1"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 1
"a": "atn",
"t": "10000002",
"n": 10
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 2
"a": "atn",
"t": "10000002",
"n": 10
}
},
{
"BuffId": 125004311,
"BuffId": 125004310,
"BuffGroupId": 1001,
"Type": 1,
"SkillId": 125004311,
"BuffLevel": 2,
"Quality": 1,
"BuffIcon": "",
@ -33,20 +35,21 @@
"text": "描述描述描述2"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 2
"a": "atn",
"t": "10000002",
"n": 11
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 2
"a": "atn",
"t": "10000002",
"n": 11
}
},
{
"BuffId": 135006211,
"BuffId": 135006210,
"BuffGroupId": 1002,
"Type": 1,
"Type": 2,
"SkillId": 135006211,
"BuffLevel": 1,
"Quality": 2,
"BuffIcon": "",
@ -55,20 +58,21 @@
"text": "描述描述描述3"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 3
"a": "atn",
"t": "10000002",
"n": 12
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 3
"a": "atn",
"t": "10000002",
"n": 12
}
},
{
"BuffId": 135006311,
"BuffId": 135006310,
"BuffGroupId": 1002,
"Type": 1,
"Type": 2,
"SkillId": 135006311,
"BuffLevel": 2,
"Quality": 2,
"BuffIcon": "",
@ -77,20 +81,21 @@
"text": "描述描述描述4"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 4
"a": "atn",
"t": "10000002",
"n": 13
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 4
"a": "atn",
"t": "10000002",
"n": 13
}
},
{
"BuffId": 144004311,
"BuffId": 144004310,
"BuffGroupId": 1003,
"Type": 1,
"Type": 3,
"SkillId": 144004311,
"BuffLevel": 1,
"Quality": 1,
"BuffIcon": "",
@ -99,20 +104,21 @@
"text": "描述描述描述5"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 4
"a": "atn",
"t": "10000002",
"n": 14
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 5
"a": "atn",
"t": "10000002",
"n": 14
}
},
{
"BuffId": 124006311,
"BuffId": 124006310,
"BuffGroupId": 1003,
"Type": 1,
"Type": 3,
"SkillId": 124006311,
"BuffLevel": 2,
"Quality": 1,
"BuffIcon": "",
@ -121,20 +127,21 @@
"text": "描述描述描述6"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 5
"a": "atn",
"t": "10000002",
"n": 15
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 6
"a": "atn",
"t": "10000002",
"n": 15
}
},
{
"BuffId": 144002311,
"BuffId": 144002310,
"BuffGroupId": 1004,
"Type": 1,
"Type": 4,
"SkillId": 144002311,
"BuffLevel": 1,
"Quality": 2,
"BuffIcon": "",
@ -143,20 +150,21 @@
"text": "描述描述描述7"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 6
"a": "atn",
"t": "10000002",
"n": 16
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 7
"a": "atn",
"t": "10000002",
"n": 16
}
},
{
"BuffId": 151513211,
"BuffId": 151513210,
"BuffGroupId": 1004,
"Type": 1,
"Type": 4,
"SkillId": 151513211,
"BuffLevel": 2,
"Quality": 2,
"BuffIcon": "",
@ -165,14 +173,60 @@
"text": "描述描述描述8"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 7
"a": "atn",
"t": "10000002",
"n": 17
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 8
"a": "atn",
"t": "10000002",
"n": 17
}
},
{
"BuffId": 143002310,
"BuffGroupId": 1005,
"Type": 4,
"SkillId": 143002311,
"BuffLevel": 1,
"Quality": 3,
"BuffIcon": "",
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_9",
"text": "描述描述描述9"
},
"BuffUpgradeCost": {
"a": "atn",
"t": "10000002",
"n": 18
},
"BuffSell": {
"a": "atn",
"t": "10000002",
"n": 18
}
},
{
"BuffId": 115005310,
"BuffGroupId": 1005,
"Type": 4,
"SkillId": 115005311,
"BuffLevel": 2,
"Quality": 3,
"BuffIcon": "",
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_10",
"text": "描述描述描述10"
},
"BuffUpgradeCost": {
"a": "atn",
"t": "10000002",
"n": 19
},
"BuffSell": {
"a": "atn",
"t": "10000002",
"n": 19
}
},
{

View File

@ -1,29 +1,29 @@
[
{
"EventId": 10000001,
"EventId": 16010101,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_1",
"text": "预留用"
"text": "捡垃圾"
},
"EventType": 16,
"EventResource": "",
"Value1": 10001001,
"EventResource": "Treasure",
"Value1": 21160001,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 11000002,
"probability": 500
"PostEvent": 0,
"probability": 0
},
{
"EventId": 10000002,
"EventId": 14110101,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_2",
"text": "预留用"
"text": "战斗"
},
"EventType": 16,
"EventResource": "",
"Value1": 10001001,
"EventType": 14,
"EventResource": "51004",
"Value1": 110101,
"Value2": 0,
"Value3": 0,
"Value4": 0,
@ -32,14 +32,14 @@
"probability": 0
},
{
"EventId": 10000003,
"EventId": 14110102,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_3",
"text": "预留用"
"text": "战斗"
},
"EventType": 16,
"EventResource": "",
"Value1": 10001001,
"EventType": 14,
"EventResource": "51002",
"Value1": 110102,
"Value2": 0,
"Value3": 0,
"Value4": 0,
@ -48,14 +48,14 @@
"probability": 0
},
{
"EventId": 10000004,
"EventId": 14110103,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_4",
"text": "预留用"
"text": "战斗"
},
"EventType": 16,
"EventResource": "",
"Value1": 10001001,
"EventType": 14,
"EventResource": "51003",
"Value1": 110103,
"Value2": 0,
"Value3": 0,
"Value4": 0,
@ -64,14 +64,14 @@
"probability": 0
},
{
"EventId": 10000005,
"EventId": 14110104,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_5",
"text": "预留用"
"text": "战斗"
},
"EventType": 16,
"EventResource": "",
"Value1": 10001001,
"EventType": 14,
"EventResource": "51005",
"Value1": 110104,
"Value2": 0,
"Value3": 0,
"Value4": 0,
@ -80,14 +80,30 @@
"probability": 0
},
{
"EventId": 10000006,
"EventId": 14110105,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_6",
"text": "预留用"
"text": "战斗"
},
"EventType": 16,
"EventType": 14,
"EventResource": "51001",
"Value1": 110105,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 25,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_7",
"text": "随机符文"
},
"EventType": 0,
"EventResource": "",
"Value1": 10001001,
"Value1": 25,
"Value2": 0,
"Value3": 0,
"Value4": 0,

View File

@ -5,7 +5,7 @@
"key": "stonehenge_roomconfig_RoomName_1",
"text": "战斗"
},
"SceneName": "",
"SceneName": "scenesfight_secret_realm_01",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
@ -21,7 +21,7 @@
"key": "stonehenge_roomconfig_RoomName_2",
"text": "战斗"
},
"SceneName": "",
"SceneName": "scenesfight_secret_realm_01",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
@ -37,7 +37,7 @@
"key": "stonehenge_roomconfig_RoomName_3",
"text": "战斗"
},
"SceneName": "",
"SceneName": "scenesfight_secret_realm_01",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
@ -94,5 +94,21 @@
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 0
},
{
"RoomId": 99999,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_7",
"text": "结算"
},
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 0,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 0
}
]

View File

@ -1,12 +1,12 @@
[
{
"key": 1,
"taskstarID": 100010,
"lv": 1,
"taskstarID": 20010,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-商人"
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_01",
@ -16,16 +16,17 @@
"chosenum": 1001,
"get": [],
"lose": [],
"jump": 0
"jump": 0,
"num": 0
},
{
"key": 2,
"taskstarID": 100060,
"lv": 1,
"taskstarID": 20020,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-公告"
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_02",
@ -35,16 +36,17 @@
"chosenum": 1002,
"get": [],
"lose": [],
"jump": 0
"jump": 0,
"num": 0
},
{
"key": 3,
"taskstarID": 100110,
"lv": 1,
"taskstarID": 20030,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-邮件"
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_03",
@ -54,94 +56,103 @@
"chosenum": 1003,
"get": [],
"lose": [],
"jump": 0
"jump": 0,
"num": 0
},
{
"key": 4,
"taskstarID": 100020,
"lv": 1,
"taskstarID": 20040,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-维京远征"
"功能入口-招募"
],
"chosetxt": {
"key": "chosetxt_04",
"text": "考试选项4"
},
"chosetype": 1,
"chosenum": 1004,
"get": [],
"lose": [],
"jump": 0
},
{
"key": 5,
"lv": 1,
"taskstarID": 20050,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-捕羊大赛"
],
"chosetxt": {
"key": "chosetxt_05",
"text": "考试选项5"
},
"chosetype": 1,
"chosenum": 1005,
"get": [],
"lose": [],
"jump": 0
},
{
"key": 6,
"lv": 1,
"taskstarID": 20060,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-狩猎"
],
"chosetxt": {
"key": "chosetxt_06",
"text": "考试选项6"
},
"chosetype": 1,
"chosenum": 1006,
"get": [],
"lose": [],
"jump": 0
},
{
"key": 7,
"lv": 1,
"taskstarID": 20070,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_07",
"text": "我想花点钱"
},
"chosetype": 2,
"chosenum": 0,
"get": [
{
"a": "attr",
"t": "gold",
"n": 5000
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020003",
"t": "14020009",
"n": 1
}
],
"jump": 0
"jump": 0,
"num": 1
},
{
"key": 5,
"taskstarID": 100070,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-招募"
],
"chosetxt": {
"key": "chosetxt_05",
"text": "考试选项5"
},
"chosetype": 2,
"chosenum": 0,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 2
}
],
"jump": 0,
"num": 1
},
{
"key": 6,
"taskstarID": 100120,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-招募"
],
"chosetxt": {
"key": "chosetxt_06",
"text": "考试选项6"
},
"chosetype": 2,
"chosenum": 0,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 3
}
],
"jump": 0,
"num": 1
}
]

View File

@ -5637,21 +5637,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_137",
"text": "打怪任务"
"text": "完成一次考试1"
},
"task_details": {
"key": "worldtask_world_task_task_details_137",
"text": "打怪任务"
"text": "完成一次考试1"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_137",
"text": "打怪任务"
"text": "完成一次考试1"
},
"npc": 10010,
"npc": 60010,
"completetask": [
12070010
50000011
],
"deliver_npc": 0,
"deliver_npc": 60018,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5677,19 +5677,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_138",
"text": "问答任务"
"text": "做一份烤乳猪1"
},
"task_details": {
"key": "worldtask_world_task_task_details_138",
"text": "问答任务"
"text": "做一份烤乳猪1"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_138",
"text": "问答任务"
"text": "做一份烤乳猪1"
},
"npc": 10018,
"completetask": [],
"deliver_npc": 0,
"npc": 60020,
"completetask": [
50000012
],
"deliver_npc": 60028,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5715,19 +5717,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_139",
"text": "复合调查"
"text": "(委托)拿到萝卜1"
},
"task_details": {
"key": "worldtask_world_task_task_details_139",
"text": "复合调查"
"text": "(委托)拿到萝卜1"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_139",
"text": "复合调查"
"text": "(委托)拿到萝卜1"
},
"npc": 100101,
"completetask": [],
"deliver_npc": 0,
"npc": 60030,
"completetask": [
50000013
],
"deliver_npc": 60038,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5753,21 +5757,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_140",
"text": "委托烹饪"
"text": "清理魔药区怪物1"
},
"task_details": {
"key": "worldtask_world_task_task_details_140",
"text": "委托烹饪"
"text": "清理魔药区怪物1"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_140",
"text": "委托烹饪"
"text": "清理魔药区怪物1"
},
"npc": 10020,
"npc": 60040,
"completetask": [
12070020
50000014
],
"deliver_npc": 10028,
"deliver_npc": 60048,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5793,21 +5797,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_141",
"text": "A连环交接1"
"text": "清理公会怪物1"
},
"task_details": {
"key": "worldtask_world_task_task_details_141",
"text": "A连环交接1"
"text": "清理公会怪物1"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_141",
"text": "A连环交接1"
"text": "清理公会怪物1"
},
"npc": 10030,
"npc": 60050,
"completetask": [
12070030
50000015
],
"deliver_npc": 0,
"deliver_npc": 60058,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5833,21 +5837,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_142",
"text": "A连环交接2"
"text": "完成一次考试2"
},
"task_details": {
"key": "worldtask_world_task_task_details_142",
"text": "A连环交接2"
"text": "完成一次考试2"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_142",
"text": "A连环交接2"
"text": "完成一次考试2"
},
"npc": 10040,
"npc": 60060,
"completetask": [
12070040
50000016
],
"deliver_npc": 0,
"deliver_npc": 60068,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5873,21 +5877,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_143",
"text": "打怪任务"
"text": "做一份烤乳猪2"
},
"task_details": {
"key": "worldtask_world_task_task_details_143",
"text": "打怪任务"
"text": "做一份烤乳猪2"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_143",
"text": "打怪任务"
"text": "做一份烤乳猪2"
},
"npc": 10050,
"npc": 60070,
"completetask": [
12070050
50000017
],
"deliver_npc": 10058,
"deliver_npc": 60078,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5913,21 +5917,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_144",
"text": "问答任务"
"text": "(委托)拿到萝卜2"
},
"task_details": {
"key": "worldtask_world_task_task_details_144",
"text": "问答任务"
"text": "(委托)拿到萝卜2"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_144",
"text": "问答任务"
"text": "(委托)拿到萝卜2"
},
"npc": 10040,
"npc": 60080,
"completetask": [
12070040
50000018
],
"deliver_npc": 0,
"deliver_npc": 60088,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5953,21 +5957,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_145",
"text": "复合调查"
"text": "清理魔药区怪物2"
},
"task_details": {
"key": "worldtask_world_task_task_details_145",
"text": "复合调查"
"text": "清理魔药区怪物2"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_145",
"text": "复合调查"
"text": "清理魔药区怪物2"
},
"npc": 10050,
"npc": 60090,
"completetask": [
12070050
50000019
],
"deliver_npc": 10058,
"deliver_npc": 60098,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -5993,21 +5997,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_146",
"text": "委托烹饪"
"text": "清理公会怪物2"
},
"task_details": {
"key": "worldtask_world_task_task_details_146",
"text": "委托烹饪"
"text": "清理公会怪物2"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_146",
"text": "委托烹饪"
"text": "清理公会怪物2"
},
"npc": 10050,
"npc": 60100,
"completetask": [
12070050
50000020
],
"deliver_npc": 10058,
"deliver_npc": 60108,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -6033,21 +6037,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_147",
"text": "打怪任务"
"text": "完成一次考试3"
},
"task_details": {
"key": "worldtask_world_task_task_details_147",
"text": "打怪任务"
"text": "完成一次考试3"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_147",
"text": "打怪任务"
"text": "完成一次考试3"
},
"npc": 10060,
"npc": 60110,
"completetask": [
12070060
50000021
],
"deliver_npc": 10068,
"deliver_npc": 60118,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -6073,21 +6077,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_148",
"text": "B连环交接1"
"text": "做一份烤乳猪3"
},
"task_details": {
"key": "worldtask_world_task_task_details_148",
"text": "B连环交接1"
"text": "做一份烤乳猪3"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_148",
"text": "B连环交接1"
"text": "做一份烤乳猪3"
},
"npc": 10070,
"npc": 60120,
"completetask": [
12070070
50000022
],
"deliver_npc": 0,
"deliver_npc": 60128,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,
@ -6113,21 +6117,21 @@
"icon": "25001",
"task_name": {
"key": "worldtask_world_task_task_name_149",
"text": "B连环交接2"
"text": "(委托)拿到萝卜3"
},
"task_details": {
"key": "worldtask_world_task_task_details_149",
"text": "B连环交接2"
"text": "(委托)拿到萝卜3"
},
"npctxt": {
"key": "worldtask_world_task_npctxt_149",
"text": "B连环交接2"
"text": "(委托)拿到萝卜3"
},
"npc": 10070,
"npc": 60130,
"completetask": [
12070070
50000023
],
"deliver_npc": 0,
"deliver_npc": 60138,
"taskend_removeitem": [],
"auto_accept": 0,
"lock_add": 0,

View File

@ -91,7 +91,7 @@ const (
ModuleWtask core.M_Modules = "wtask" //世界任务
ModulePasson core.M_Modules = "passon" //传功房
ModuleWarorder core.M_Modules = "warorder" //战令
ModuleUnionGve core.M_Modules = "uniongve" //工会boos战
ModuleGuildGve core.M_Modules = "guildgve" //工会boos战
ModuleDailytask core.M_Modules = "dailytask" //每日任务
ModuleQuestionnaire core.M_Modules = "questionnaire" //问卷调查
)
@ -294,7 +294,11 @@ const (
TableRaceRecord = "pagodarace"
///工会战
TableUniongve = "uniongve"
TableGuildgve = "guildgve"
///工会成员表
TableGuildMember = "guildmember"
///工会轮盘
TableUnionroulette = "unionroulette"
///工会排行榜
@ -309,6 +313,9 @@ const (
TableWorldBuff = "worldbuff"
//世界任务
TableDailytask = "dailytask"
//新主线数据表
TableMainline = "mainline"
)
// RPC服务接口定义处

View File

@ -516,6 +516,9 @@ type (
GetGrormetLlame(id string) (data int32, err error)
GetGroupDataByLotteryId(id int32) (data *cfg.GameLotteryData, err error)
//获取用户等级配置
GetPlayerlvConf(uid string) (conf *cfg.GamePlayerlvData, errdata *pb.ErrorData)
//读取全局表 db层
GetGlobalData(key string, v interface{}) (err error)
//更新全局表 db层

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"go_dreamfactory/lego/base"
@ -9,12 +9,12 @@ import (
type apiComp struct {
modules.MCompGate
service base.IRPCXService
module *UnionGve
module *GuildGve
}
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
_ = this.MCompGate.Init(service, module, comp, options)
this.service = service.(base.IRPCXService)
this.module = module.(*UnionGve)
this.module = module.(*GuildGve)
return
}

View File

@ -1,14 +1,16 @@
package uniongve
package guildgve
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils"
)
// 参数校验
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.UniongveChallengeReq) (errdata *pb.ErrorData) {
if req.Unionid == "" || req.Boosid == 0 {
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.GuildGveChallengeReq) (errdata *pb.ErrorData) {
if req.Guildid == "" || req.Boosid == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
@ -19,9 +21,11 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.UniongveC
}
// 获取工会boos战信息
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.UniongveChallengeReq) (errdata *pb.ErrorData) {
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.GuildGveChallengeReq) (errdata *pb.ErrorData) {
var (
member *pb.DBGuildMember
record *pb.DBBattleRecord
playerlvconf *cfg.GamePlayerlvData
conf *cfg.GameGuildBossData
err error
)
@ -39,6 +43,31 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.UniongveChalle
return
}
if member, err = this.module.modelGuildMember.getGuildMember(req.Guildid, session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if !utils.IsToday(member.Refreshtime) {
if playerlvconf, errdata = this.module.ModuleTools.GetPlayerlvConf(session.GetUserId()); errdata != nil {
member.Boosticket = playerlvconf.GuildBossCeiling
member.Refreshtime = configure.Now().Unix()
this.module.modelGuildMember.updateGuildMember(member)
return
}
}
if member.Boosticket == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_moonfantasy,
Format: req.Battle,
@ -46,9 +75,10 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.UniongveChalle
}); err != nil {
return
}
session.SendMsg(string(this.module.GetType()), "challenge", &pb.UniongveChallengeResp{
Unionid: req.Unionid,
session.SendMsg(string(this.module.GetType()), "challenge", &pb.GuildGveChallengeResp{
Guildid: req.Guildid,
Boosid: req.Boosid,
Boosticket: member.Boosticket,
Info: &pb.BattleInfo{
Id: record.Id,
Rulesid: conf.BattleReadyID,

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"fmt"
@ -10,17 +10,18 @@ import (
)
// 参数校验
func (this *apiComp) ChallengeFinishCheck(session comm.IUserSession, req *pb.UniongveChallengeFinishReq) (errdata *pb.ErrorData) {
func (this *apiComp) ChallengeFinishCheck(session comm.IUserSession, req *pb.GuildGveChallengeFinishReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.UniongveChallengeFinishReq) (errdata *pb.ErrorData) {
func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGveChallengeFinishReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GameGuildBossData
member *pb.DBGuildMember
score *cfg.GameGuildBossScoreData
info *pb.DBUnionGve
info *pb.DBGuildGve
prop []*cfg.Gameatn
award []*pb.UserAssets
ok bool
@ -48,16 +49,33 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.Uniongve
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if member, err = this.module.modelGuildMember.getGuildMember(req.Guildid, session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if member.Boosticket <= 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("Boosticket is ", member.Boosticket),
}
return
}
lock, _ := this.module.modelUniongve.userlock(req.Unionid)
lock, _ := this.module.modelGuildGve.userlock(req.Guildid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Unionid}, log.Field{Key: "err", Value: err.Error()})
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelUniongve.getUnionGve(req.Unionid); err != nil {
if info, err = this.module.modelGuildGve.getGuildGve(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
@ -83,13 +101,13 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.Uniongve
}
}
v.Record = append(v.Record)
go this.module.modelUniongve.booshpchangepush(req.Unionid, info)
go this.module.modelGuildGve.booshpchangepush(req.Guildid, info)
if v.Hp < 0 {
v.Hp = 0
info.Kills++
info.Lastkilltime = configure.Now().Unix()
this.module.modelRank.updateRank(info)
go this.module.modelUniongve.booskill(req.Unionid, req.Boosid, info)
go this.module.modelGuildGve.booskill(req.Guildid, req.Boosid, info)
}
}
break
@ -97,6 +115,8 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.Uniongve
}
if ok {
member.Boosticket--
this.module.modelGuildMember.updateGuildMember(member)
user := this.module.ModuleUser.GetUser(session.GetUserId())
if prop = this.module.ModuleTools.GetGroupDataByLottery(score.Drop, user.Vip, user.Lv); len(prop) == 0 {
errdata = &pb.ErrorData{
@ -118,7 +138,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.Uniongve
})
}
if err = this.module.modelUniongve.updateUnionGve(info); err != nil {
if err = this.module.modelGuildGve.updateGuildGve(info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
@ -128,11 +148,13 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.Uniongve
}
}
session.SendMsg(string(this.module.GetType()), "challengefinish", &pb.UniongveChallengeFinishResp{
Unionid: req.Unionid,
session.SendMsg(string(this.module.GetType()), "challengefinish", &pb.GuildGveChallengeFinishResp{
Guildid: req.Guildid,
Boosid: req.Boosid,
Efficient: ok,
Award: award,
Score: score.Id,
Boosticket: member.Boosticket,
})
return
}

View File

@ -0,0 +1,65 @@
package guildgve
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.GuildGveInfoReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.GuildGveInfoReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GamePlayerlvData
member *pb.DBGuildMember
info *pb.DBGuildGve
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
if member, err = this.module.modelGuildMember.getGuildMember(req.Guildid, session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if !utils.IsToday(member.Refreshtime) {
if conf, errdata = this.module.ModuleTools.GetPlayerlvConf(session.GetUserId()); errdata != nil {
member.Boosticket = conf.GuildBossCeiling
member.Refreshtime = configure.Now().Unix()
this.module.modelGuildMember.updateGuildMember(member)
return
}
}
lock, _ := this.module.modelGuildGve.userlock(req.Guildid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelGuildGve.getGuildGve(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "info", &pb.GuildGveInfoResp{Info: info, Boosticket: member.Boosticket})
return
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"go_dreamfactory/comm"
@ -6,18 +6,18 @@ import (
)
// 参数校验
func (this *apiComp) RankCheck(session comm.IUserSession, req *pb.UniongveRankReq) (errdata *pb.ErrorData) {
func (this *apiComp) RankCheck(session comm.IUserSession, req *pb.GuildGveRankReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) Rank(session comm.IUserSession, req *pb.UniongveRankReq) (errdata *pb.ErrorData) {
func (this *apiComp) Rank(session comm.IUserSession, req *pb.GuildGveRankReq) (errdata *pb.ErrorData) {
var (
err error
ids []string
sociatys []*pb.DBSociaty
ranks []*pb.UniongveRankItem
ranks []*pb.GuildGveRankItem
)
if errdata = this.RankCheck(session, req); errdata != nil {
return
@ -36,12 +36,12 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.UniongveRankReq) (e
}
for i, v := range sociatys {
ranks = append(ranks, &pb.UniongveRankItem{
Unionid: v.Id,
ranks = append(ranks, &pb.GuildGveRankItem{
Guildid: v.Id,
Name: v.Name,
Rank: int32(i),
})
}
session.SendMsg(string(this.module.GetType()), "rank", &pb.UniongveRankResp{List: ranks})
session.SendMsg(string(this.module.GetType()), "rank", &pb.GuildGveRankResp{List: ranks})
return
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"go_dreamfactory/comm"
@ -7,13 +7,13 @@ import (
)
// 参数校验
func (this *apiComp) RouletteCheck(session comm.IUserSession, req *pb.UniongveRouletteReq) (errdata *pb.ErrorData) {
func (this *apiComp) RouletteCheck(session comm.IUserSession, req *pb.GuildGveRouletteReq) (errdata *pb.ErrorData) {
return
}
// 获取工会 转轮
func (this *apiComp) Roulette(session comm.IUserSession, req *pb.UniongveRouletteReq) (errdata *pb.ErrorData) {
func (this *apiComp) Roulette(session comm.IUserSession, req *pb.GuildGveRouletteReq) (errdata *pb.ErrorData) {
var (
confs []*cfg.GameGuildBossRouletteData
award []*pb.UserAssets = make([]*pb.UserAssets, 0)
@ -58,9 +58,9 @@ func (this *apiComp) Roulette(session comm.IUserSession, req *pb.UniongveRoulett
}
if confs[index].Push == 1 { //推送通知
go this.module.modelUnionroulette.roulettechangePush(req.Unionid, session.GetUserId(), award)
go this.module.modelUnionroulette.roulettechangePush(req.Guildid, session.GetUserId(), award)
}
session.SendMsg(string(this.module.GetType()), "roulette", &pb.UniongveRouletteResp{Cid: confs[index].Id, Award: award})
session.SendMsg(string(this.module.GetType()), "roulette", &pb.GuildGveRouletteResp{Cid: confs[index].Id, Award: award})
return
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"go_dreamfactory/comm"
@ -7,30 +7,30 @@ import (
)
// 参数校验
func (this *apiComp) SetFireCheck(session comm.IUserSession, req *pb.UniongveSetFireReq) (errdata *pb.ErrorData) {
func (this *apiComp) SetFireCheck(session comm.IUserSession, req *pb.GuildGveSetFireReq) (errdata *pb.ErrorData) {
return
}
// 获取工会设置集火
func (this *apiComp) SetFire(session comm.IUserSession, req *pb.UniongveSetFireReq) (errdata *pb.ErrorData) {
func (this *apiComp) SetFire(session comm.IUserSession, req *pb.GuildGveSetFireReq) (errdata *pb.ErrorData) {
var (
info *pb.DBUnionGve
info *pb.DBGuildGve
err error
)
if errdata = this.SetFireCheck(session, req); errdata != nil {
return
}
lock, _ := this.module.modelUniongve.userlock(req.Unionid)
lock, _ := this.module.modelGuildGve.userlock(req.Guildid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Unionid}, log.Field{Key: "err", Value: err.Error()})
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelUniongve.getUnionGve(req.Unionid); err != nil {
if info, err = this.module.modelGuildGve.getGuildGve(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
@ -41,7 +41,7 @@ func (this *apiComp) SetFire(session comm.IUserSession, req *pb.UniongveSetFireR
info.Notice = req.Notice
info.Fire = req.Boosid
if err = this.module.modelUniongve.updateUnionGve(info); err != nil {
if err = this.module.modelGuildGve.updateGuildGve(info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
@ -49,7 +49,7 @@ func (this *apiComp) SetFire(session comm.IUserSession, req *pb.UniongveSetFireR
}
return
}
go this.module.modelUniongve.infochangepush(req.Unionid, info)
session.SendMsg(string(this.module.GetType()), "info", &pb.UniongveInfoResp{Info: info})
go this.module.modelGuildGve.infochangepush(req.Guildid, info)
session.SendMsg(string(this.module.GetType()), "info", &pb.GuildGveInfoResp{Info: info})
return
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"fmt"
@ -18,13 +18,13 @@ const (
// /配置管理基础组件
type MCompConfigure struct {
modules.MCompConfigure
module *UnionGve
module *GuildGve
}
// 组件初始化接口
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*UnionGve)
this.module = module.(*GuildGve)
err = this.LoadMultiConfigure(map[string]interface{}{
game_guildboss: cfg.NewGameGuildBoss,
game_guildbossrank: cfg.NewGameGuildBossRank,

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
const (
UnionGveBoosCoonfKey = "UnionGveBoosCoonf"

View File

@ -0,0 +1,84 @@
package guildgve
import (
"errors"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelGuildMember struct {
modules.MCompModel
module *GuildGve
conflock sync.RWMutex
bossconf *pb.DBGuildGveBossConf
}
func (this *ModelGuildMember) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableGuildMember
this.module = module.(*GuildGve)
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
func (this *ModelGuildMember) Start() (err error) {
err = this.MCompModel.Start()
return
}
// 获取用户全部的埋点数据
func (this *ModelGuildMember) getGuildMember(guild, uid string) (results *pb.DBGuildMember, err error) {
var (
conf *cfg.GamePlayerlvData
errdata *pb.ErrorData
)
results = &pb.DBGuildMember{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
if conf, errdata = this.module.ModuleTools.GetPlayerlvConf(uid); errdata != nil {
err = errors.New(errdata.Message)
this.module.Errorln(errdata)
return
}
results = &pb.DBGuildMember{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Guild: guild,
Boosticket: conf.GuildBossCeiling,
Refreshtime: configure.Now().Unix(),
}
err = this.Add(uid, results)
}
if results.Guild != guild {
results.Guild = guild
}
return
}
func (this *ModelGuildMember) updateGuildMember(data *pb.DBGuildMember) (err error) {
if err = this.Change(data.Uid, map[string]interface{}{
"guild": data.Guild,
"boosticket": data.Boosticket,
"refreshtime": data.Refreshtime,
}); err != nil {
this.module.Error("更新工会成员信息 错误!", log.Field{Key: "err", Value: err.Error()})
return
}
return
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"fmt"
@ -14,15 +14,15 @@ import (
type ModelUnionroulette struct {
modules.MCompModel
module *UnionGve
module *GuildGve
conflock sync.RWMutex
bossconf *pb.DBUnionGveBossConf
bossconf *pb.DBGuildGveBossConf
}
func (this *ModelUnionroulette) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableUnionroulette
this.module = module.(*UnionGve)
this.module = module.(*GuildGve)
return
}
@ -32,24 +32,24 @@ func (this *ModelUnionroulette) Start() (err error) {
}
// 获取用户全部的埋点数据
func (this *ModelUnionroulette) getUnionRoulette(unionid string) (results *pb.DBUnionRouletteRecord, err error) {
results = &pb.DBUnionRouletteRecord{}
if err = this.Get(unionid, results); err != nil && err != mgo.MongodbNil {
func (this *ModelUnionroulette) getUnionRoulette(Guildid string) (results *pb.DBGuildRouletteRecord, err error) {
results = &pb.DBGuildRouletteRecord{}
if err = this.Get(Guildid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
results = &pb.DBUnionRouletteRecord{
Unionid: unionid,
results = &pb.DBGuildRouletteRecord{
Guildid: Guildid,
Roulette: make([]*pb.DBGveRouletteRecord, 0),
}
err = this.Add(unionid, results)
err = this.Add(Guildid, results)
}
return
}
func (this *ModelUnionroulette) updateUnionRoulette(data *pb.DBUnionRouletteRecord) (err error) {
if err = this.Change(data.Unionid, map[string]interface{}{
func (this *ModelUnionroulette) updateUnionRoulette(data *pb.DBGuildRouletteRecord) (err error) {
if err = this.Change(data.Guildid, map[string]interface{}{
"roulette": data.Roulette,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
@ -66,7 +66,7 @@ func (this *ModelUnionroulette) userlock(id string) (result *redis.RedisMutex, e
// boos 信息变化推送
func (this *ModelUnionroulette) roulettechangePush(unionid string, uid string, award []*pb.UserAssets) {
var (
info *pb.DBUnionRouletteRecord
info *pb.DBGuildRouletteRecord
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
errdata *pb.ErrorData
@ -80,7 +80,7 @@ func (this *ModelUnionroulette) roulettechangePush(unionid string, uid string, a
users = append(users, v.Uid)
}
lock, _ := this.module.modelUniongve.userlock(unionid)
lock, _ := this.module.modelGuildGve.userlock(unionid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: unionid}, log.Field{Key: "err", Value: err.Error()})
@ -96,7 +96,7 @@ func (this *ModelUnionroulette) roulettechangePush(unionid string, uid string, a
Award: award,
})
this.module.SendMsgToUsers(string(this.module.GetType()), "roulettechange", &pb.UniongveRouletteChangePush{
this.module.SendMsgToUsers(string(this.module.GetType()), "roulettechange", &pb.GuildGveRouletteChangePush{
Record: info,
}, users...)
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"fmt"
@ -18,15 +18,15 @@ import (
type ModelUniongve struct {
modules.MCompModel
module *UnionGve
module *GuildGve
conflock sync.RWMutex
bossconf *pb.DBUnionGveBossConf
bossconf *pb.DBGuildGveBossConf
}
func (this *ModelUniongve) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableUniongve
this.module = module.(*UnionGve)
this.TableName = comm.TableGuildgve
this.module = module.(*GuildGve)
return
}
@ -41,15 +41,15 @@ func (this *ModelUniongve) Start() (err error) {
}
// 获取用户全部的埋点数据
func (this *ModelUniongve) getUnionGve(unionid string) (results *pb.DBUnionGve, err error) {
func (this *ModelUniongve) getGuildGve(guildid string) (results *pb.DBGuildGve, err error) {
var (
confs *pb.DBUnionGveBossConf
confs *pb.DBGuildGveBossConf
conf *cfg.GameGuildBossData
)
results = &pb.DBUnionGve{
Boos: make([]*pb.DBUnionGveBoss, 0),
results = &pb.DBGuildGve{
Boos: make([]*pb.DBGuildGveBoss, 0),
}
if err = this.GetByID(unionid, results); err != nil && err != mgo.MongodbNil {
if err = this.GetByID(guildid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
@ -58,29 +58,29 @@ func (this *ModelUniongve) getUnionGve(unionid string) (results *pb.DBUnionGve,
return
}
results = &pb.DBUnionGve{
Unionid: unionid,
results = &pb.DBGuildGve{
Guildid: guildid,
Currstage: 0,
Rtime: confs.Rtime,
Boos: make([]*pb.DBUnionGveBoss, 0),
Boos: make([]*pb.DBGuildGveBoss, 0),
}
for _, v := range confs.Boos {
if conf, err = this.module.configure.getguildbossByid(v); err != nil {
return
}
results.Boos = append(results.Boos, &pb.DBUnionGveBoss{
results.Boos = append(results.Boos, &pb.DBGuildGveBoss{
Boosid: v,
Hp: conf.Hp,
Record: make([]*pb.DBGveRecord, 0),
})
}
err = this.Add(unionid, results)
err = this.Add(guildid, results)
}
return
}
func (this *ModelUniongve) updateUnionGve(data *pb.DBUnionGve) (err error) {
if err = this.Change(data.Unionid, map[string]interface{}{
func (this *ModelUniongve) updateGuildGve(data *pb.DBGuildGve) (err error) {
if err = this.Change(data.Guildid, map[string]interface{}{
"fire": data.Fire,
"notice": data.Notice,
"currstage": data.Currstage,
@ -99,7 +99,7 @@ func (this *ModelUniongve) updateUnionGve(data *pb.DBUnionGve) (err error) {
// 刷新全局配置
func (this *ModelUniongve) loadGlobalBoos() (err error) {
var (
bossconf *pb.DBUnionGveBossConf = &pb.DBUnionGveBossConf{}
bossconf *pb.DBGuildGveBossConf = &pb.DBGuildGveBossConf{}
)
if err = this.module.ModuleTools.GetGlobalData(UnionGveBoosCoonfKey, bossconf); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
@ -116,9 +116,9 @@ func (this *ModelUniongve) loadGlobalBoos() (err error) {
return
}
func (this *ModelUniongve) getGlobalBoos() (conf *pb.DBUnionGveBossConf, err error) {
func (this *ModelUniongve) getGlobalBoos() (conf *pb.DBGuildGveBossConf, err error) {
var (
bossconf *pb.DBUnionGveBossConf
bossconf *pb.DBGuildGveBossConf
)
this.conflock.RLock()
bossconf = this.bossconf
@ -136,7 +136,7 @@ func (this *ModelUniongve) getGlobalBoos() (conf *pb.DBUnionGveBossConf, err err
}
// 刷新全局配置
func (this *ModelUniongve) refreshGlobalBoos() (conf *pb.DBUnionGveBossConf, err error) {
func (this *ModelUniongve) refreshGlobalBoos() (conf *pb.DBGuildGveBossConf, err error) {
var (
booss []*cfg.GameGuildBossData
rands []int
@ -149,7 +149,7 @@ func (this *ModelUniongve) refreshGlobalBoos() (conf *pb.DBUnionGveBossConf, err
return
}
rands = comm.RandShuffle(len(booss))
conf = &pb.DBUnionGveBossConf{
conf = &pb.DBGuildGveBossConf{
Key: UnionGveBoosCoonfKey,
Rtime: configure.Now().Unix(),
Boos: make([]int32, 5),
@ -173,7 +173,7 @@ func (this *ModelUniongve) userlock(id string) (result *redis.RedisMutex, err er
}
// boos 血量变化推送
func (this *ModelUniongve) booshpchangepush(unionid string, info *pb.DBUnionGve) {
func (this *ModelUniongve) booshpchangepush(unionid string, info *pb.DBGuildGve) {
var (
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
@ -187,13 +187,13 @@ func (this *ModelUniongve) booshpchangepush(unionid string, info *pb.DBUnionGve)
users = append(users, v.Uid)
}
this.module.SendMsgToUsers(string(this.module.GetType()), "booschange", &pb.UniongveBoosChangePush{
this.module.SendMsgToUsers(string(this.module.GetType()), "booschange", &pb.GuildGveBoosChangePush{
Info: info,
}, users...)
}
// 击杀boos
func (this *ModelUniongve) booskill(unionid string, boosid int32, info *pb.DBUnionGve) {
func (this *ModelUniongve) booskill(unionid string, boosid int32, info *pb.DBGuildGve) {
var (
conf *cfg.GameGuildBossData
members []*pb.SociatyMemberInfo
@ -222,7 +222,7 @@ func (this *ModelUniongve) booskill(unionid string, boosid int32, info *pb.DBUni
}
}
lock, _ := this.module.modelUniongve.userlock(unionid)
lock, _ := this.module.modelGuildGve.userlock(unionid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: unionid}, log.Field{Key: "err", Value: err.Error()})
@ -241,17 +241,17 @@ func (this *ModelUniongve) booskill(unionid string, boosid int32, info *pb.DBUni
v.Hp = v.Hp
v.Record = make([]*pb.DBGveRecord, 0)
}
if err = this.updateUnionGve(info); err != nil {
if err = this.updateGuildGve(info); err != nil {
this.module.Errorln(err)
return
}
this.module.SendMsgToUsers(string(this.module.GetType()), "stagechange", &pb.UniongveStageChangePush{
this.module.SendMsgToUsers(string(this.module.GetType()), "stagechange", &pb.GuildGveStageChangePush{
Info: info,
}, users...)
}
// boos 信息变化推送
func (this *ModelUniongve) infochangepush(unionid string, info *pb.DBUnionGve) {
func (this *ModelUniongve) infochangepush(unionid string, info *pb.DBGuildGve) {
var (
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
@ -265,7 +265,7 @@ func (this *ModelUniongve) infochangepush(unionid string, info *pb.DBUnionGve) {
users = append(users, v.Uid)
}
this.module.SendMsgToUsers(string(this.module.GetType()), "infochange", &pb.UniongveInfoChangePush{
this.module.SendMsgToUsers(string(this.module.GetType()), "infochange", &pb.GuildGveInfoChangePush{
Info: info,
}, users...)
}

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"context"
@ -18,15 +18,15 @@ import (
type modelRank struct {
modules.MCompModel
module *UnionGve
module *GuildGve
conflock sync.RWMutex
bossconf *pb.DBUnionGveBossConf
bossconf *pb.DBGuildGveBossConf
}
func (this *modelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableUnionrank
this.module = module.(*UnionGve)
this.module = module.(*GuildGve)
return
}
@ -52,7 +52,7 @@ func (this *modelRank) queryRankUser() (ranks []string, err error) {
}
// 更新排名
func (this *modelRank) updateRank(guilds ...*pb.DBUnionGve) (err error) {
func (this *modelRank) updateRank(guilds ...*pb.DBGuildGve) (err error) {
var (
pipe *pipe.RedisPipe = this.DBModel.Redis.RedisPipe(context.TODO())
menbers []*redis.Z
@ -66,13 +66,13 @@ func (this *modelRank) updateRank(guilds ...*pb.DBUnionGve) (err error) {
start := time.Unix(v.Lastkilltime, 0)
seconds := endtime.Sub(start).Seconds()
Integral := float64(v.Kills)*float64(10000000000) + seconds
menbers[i] = &redis.Z{Score: Integral, Member: v.Unionid}
menbers[i] = &redis.Z{Score: Integral, Member: v.Guildid}
}
if cmd = pipe.ZAdd(this.TableName, menbers...); err != nil {
this.module.Errorln(err)
}
for i, v := range guilds {
menbersCmd[i] = pipe.ZRevRank(this.TableName, v.Unionid)
menbersCmd[i] = pipe.ZRevRank(this.TableName, v.Guildid)
}
if _, err = pipe.Exec(); err != nil {
this.module.Errorln(err)

View File

@ -1,4 +1,4 @@
package uniongve
package guildgve
import (
"context"
@ -9,35 +9,36 @@ import (
)
func NewModule() core.IModule {
m := new(UnionGve)
m := new(GuildGve)
return m
}
type UnionGve struct {
type GuildGve struct {
modules.ModuleBase
service comm.IService
sociaty comm.ISociaty
mail comm.Imail
battle comm.IBattle
api *apiComp
modelUniongve *ModelUniongve
modelGuildGve *ModelUniongve
modelUnionroulette *ModelUnionroulette
modelGuildMember *ModelGuildMember
modelRank *modelRank
configure *MCompConfigure
}
// 模块名
func (this *UnionGve) GetType() core.M_Modules {
return comm.ModuleUnionGve
func (this *GuildGve) GetType() core.M_Modules {
return comm.ModuleGuildGve
}
// 模块初始化接口 注册用户创建角色事件
func (this *UnionGve) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
func (this *GuildGve) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(comm.IService)
return
}
func (this *UnionGve) Start() (err error) {
func (this *GuildGve) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleSociaty); err != nil {
@ -57,17 +58,18 @@ func (this *UnionGve) Start() (err error) {
}
// 装备组件
func (this *UnionGve) OnInstallComp() {
func (this *GuildGve) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
this.modelUniongve = this.RegisterComp(new(ModelUniongve)).(*ModelUniongve)
this.modelGuildGve = this.RegisterComp(new(ModelUniongve)).(*ModelUniongve)
this.modelGuildMember = this.RegisterComp(new(ModelGuildMember)).(*ModelGuildMember)
this.modelUnionroulette = this.RegisterComp(new(ModelUnionroulette)).(*ModelUnionroulette)
this.modelRank = this.RegisterComp(new(modelRank)).(*modelRank)
}
// 工会Boos战结算通知
func (this *UnionGve) Rpc_ModuleGuildBossSettlement(ctx context.Context, req *pb.EmptyReq, resp interface{}) (err error) {
func (this *GuildGve) Rpc_ModuleGuildBossSettlement(ctx context.Context, req *pb.EmptyReq, resp interface{}) (err error) {
this.Debug("Rpc_ModuleGuildBossSettlement 工会Boos战结算通知 !")
this.modelRank.raceSettlement()
return

34
modules/mainline/api.go Normal file
View File

@ -0,0 +1,34 @@
package mainline
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
const (
MlineGetListResp = "getlist"
MlineChallengeResp = "challenge"
MlineCleanStageResp = "cleanstage"
MlineChallengeOverResp = "challengeover"
MlineGetRewardResp = "getreward"
)
type apiComp struct {
modules.MCompGate
service core.IService
module *Mainline
}
// 组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Mainline)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -0,0 +1,87 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.MainlineChallengeReq) (errdata *pb.ErrorData) {
if req.Level == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
// /挑战主线关卡
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChallengeReq) (errdata *pb.ErrorData) {
var (
curChapter *pb.DBMline // 当前章节信息
ps int32 // 消耗的体力
psAnt *cfg.Gameatn
stageConf *cfg.GameMainStageData // 当前章节数据
err error
)
if errdata = this.ChallengeCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
}
if stageConf, err = this.module.configure.GetMainStageConf(req.Level); err != nil { // 配置文件校验
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(),
Message: err.Error(),
}
return
}
if v1, ok := curChapter.Ps[req.Level]; !ok || v1 == 0 {
for _, v := range stageConf.PsConsume {
if v.A == "attr" && v.T == "ps" {
ps += v.N
}
}
for _, v := range stageConf.PsMg {
if v.A == "attr" && v.T == "ps" {
ps += v.N
}
}
psAnt = &cfg.Gameatn{ // 构建一个atn 对象
A: "attr",
T: "ps",
N: ps,
}
if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{psAnt}, true); errdata != nil {
return
}
curChapter.Ps[req.Level] = ps
}
errdata, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_mainline,
Title: "",
Format: req.Battle,
Mformat: stageConf.FormatList,
})
if errdata != nil {
return
}
session.SendMsg(string(this.module.GetType()), MlineChallengeResp, &pb.MainlineChallengeResp{
Info: &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: stageConf.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
Level: req.Level,
})
return
}

View File

@ -0,0 +1,189 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.MainlineChallengeOverReq) (errdata *pb.ErrorData) {
if req.Level == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
return
}
// /挑战主线关卡
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineChallengeOverReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GameMainStageData
info *pb.DBMainline
aeward []*pb.UserAssets = make([]*pb.UserAssets, 0)
isWin bool
first bool // 判断是否是首通
star int32 // 评星
tasks []*pb.BuriedParam = make([]*pb.BuriedParam, 0)
err error
consumPs int32
userExp int32
)
if errdata = this.ChallengeOverCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
}
if conf, err = this.module.configure.GetMainStageConf(req.Level); err != nil { // 配置文件校验
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(),
Message: err.Error(),
}
return
}
if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
}
// 校验通过
errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report)
if errdata != nil {
return
}
if !isWin { // 战斗失败返还扣除的体力
if errdata = this.module.DispenseRes(session, conf.PsConsume, true); errdata != nil { // 返还预扣体力
return
}
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{
Level: req.Level,
}) // 数据推送
return
}
// 评星规则
if len(conf.Star) != len(conf.StarType) || len(conf.Star) != len(conf.StarValue) || len(conf.StarValue) != len(conf.StarType) {
this.module.Errorf("配置错误, 参数数量不一致,StageId: %d", req.Level)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
}
return
}
var szStar []int32
szStar = append(szStar, 1<<0)
szStar = append(szStar, 1<<1)
szStar = append(szStar, 1<<2)
for i, v := range conf.StarType {
if v == comm.MainStarType1 {
star ^= szStar[i]
} else if v == comm.MainStarType2 {
if req.Report.Death <= conf.StarValue[i] {
star ^= szStar[i]
}
} else if v == comm.MainStarType3 {
if req.Report.Round <= conf.StarValue[i] {
star ^= szStar[i]
}
}
}
// 判断是不是首通
if _, ok := info.Level[req.Level]; !ok {
first = true
info.Level[req.Level] = star
}
info.Lastlevel = req.Level
if first { // 发奖
if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil {
this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward)
}
for _, v := range conf.Firstaward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
} else {
if errdata = this.module.DispenseRes(session, conf.Commonaward, true); errdata != nil {
this.module.Debugf("Mline Commonaward DispenseRes err:+%v", conf.Commonaward)
}
for _, v := range conf.Commonaward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
}
user := this.module.ModuleUser.GetUser(session.GetUserId())
if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(conf.Lotteryward, user.Vip, user.Lv); len(lotteryward) > 0 {
if errdata = this.module.DispenseRes(session, lotteryward, true); errdata != nil {
this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
}
for _, v := range lotteryward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
}
// 加英雄经验
if conf.HeroExp > 0 {
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
for _, v := range req.Report.Info.Redflist[0].Team {
if !v.Ishelp { // 助战英雄不加经验
this.module.ModuleHero.AddHeroExp(session, v.Oid, conf.HeroExp)
}
}
}
}
userExp, _ = this.module.ModuleUser.ConsumePsAddExp(session, consumPs)
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{
Level: req.Level,
Star: star,
HeroExp: conf.HeroExp,
UserExp: userExp,
}) // 数据推送
// // 校验功能开启
// module, err2 := this.module.service.GetModule(comm.ModuleSys)
// if err2 == nil {
// if isys, ok := module.(comm.ISys); ok {
// isys.CheckLvUpCond(session, req.Level) // 校验新功能是否开启
// }
// }
// 主线任务统计 Rtype60
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype60, 1))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype61, 1, int32(req.Level)))
// var (
// ChapterStar int32
// allStar int32
// )
// tasks = append(tasks, comm.GetBuriedParam(comm.Rtype158, ChapterStar, curChapter.ChapterId, curChapter.CType))
// for _, v2 := range list {
// for _, v1 := range v2.Star {
// for _, v := range szStar {
// if v1&v == v {
// allStar++
// }
// }
// }
// }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype160, allStar)
// tasks = append(tasks, comm.GetBuriedParam(comm.Rtype160, allStar, conf.Chapterid))
go this.module.ModuleBuried.TriggerBuried(session.Clone(), tasks...)
return
}

View File

@ -0,0 +1,36 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.MainlineInfoReq) (errdata *pb.ErrorData) {
return
}
// /获取主线关卡信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.MainlineInfoReq) (errdata *pb.ErrorData) {
var (
info *pb.DBMainline
err error
)
errdata = this.InfoCheck(session, req)
if errdata != nil {
return // 参数校验失败直接返回
}
info, err = this.module.modelMline.getMainlineData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), MlineGetListResp, &pb.MainlineInfoResp{Info: info})
return
}

View File

@ -0,0 +1,164 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) LevelPassCheck(session comm.IUserSession, req *pb.MainlineLevelPassReq) (errdata *pb.ErrorData) {
if req.Level == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
return
}
// /挑战主线关卡
func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelPassReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GameMainStageData
info *pb.DBMainline
aeward []*pb.UserAssets = make([]*pb.UserAssets, 0)
isWin bool
first bool // 判断是否是首通
star int32 // 评星
tasks []*pb.BuriedParam = make([]*pb.BuriedParam, 0)
err error
consumPs int32
userExp int32
)
if errdata = this.LevelPassCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
}
if conf, err = this.module.configure.GetMainStageConf(req.Level); err != nil { // 配置文件校验
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(),
Message: err.Error(),
}
return
}
if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
}
// 校验通过
errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report)
if errdata != nil {
return
}
if !isWin { // 战斗失败返还扣除的体力
if errdata = this.module.DispenseRes(session, conf.PsConsume, true); errdata != nil { // 返还预扣体力
return
}
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{
Level: req.Level,
}) // 数据推送
return
}
// 评星规则
if len(conf.Star) != len(conf.StarType) || len(conf.Star) != len(conf.StarValue) || len(conf.StarValue) != len(conf.StarType) {
this.module.Errorf("配置错误, 参数数量不一致,StageId: %d", req.Level)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
}
return
}
var szStar []int32
szStar = append(szStar, 1<<0)
szStar = append(szStar, 1<<1)
szStar = append(szStar, 1<<2)
for i, v := range conf.StarType {
if v == comm.MainStarType1 {
star ^= szStar[i]
} else if v == comm.MainStarType2 {
if req.Report.Death <= conf.StarValue[i] {
star ^= szStar[i]
}
} else if v == comm.MainStarType3 {
if req.Report.Round <= conf.StarValue[i] {
star ^= szStar[i]
}
}
}
// 判断是不是首通
if _, ok := info.Level[req.Level]; !ok {
first = true
info.Level[req.Level] = star
}
info.Lastlevel = req.Level
if first { // 发奖
if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil {
this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward)
}
for _, v := range conf.Firstaward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
} else {
if errdata = this.module.DispenseRes(session, conf.Commonaward, true); errdata != nil {
this.module.Debugf("Mline Commonaward DispenseRes err:+%v", conf.Commonaward)
}
for _, v := range conf.Commonaward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
}
user := this.module.ModuleUser.GetUser(session.GetUserId())
if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(conf.Lotteryward, user.Vip, user.Lv); len(lotteryward) > 0 {
if errdata = this.module.DispenseRes(session, lotteryward, true); errdata != nil {
this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
}
for _, v := range lotteryward {
aeward = append(aeward, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
}
// 加英雄经验
if conf.HeroExp > 0 {
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
for _, v := range req.Report.Info.Redflist[0].Team {
if !v.Ishelp { // 助战英雄不加经验
this.module.ModuleHero.AddHeroExp(session, v.Oid, conf.HeroExp)
}
}
}
}
userExp, _ = this.module.ModuleUser.ConsumePsAddExp(session, consumPs)
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{
Level: req.Level,
Star: star,
HeroExp: conf.HeroExp,
UserExp: userExp,
}) // 数据推送
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype60, 1))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype61, 1, int32(req.Level)))
go this.module.ModuleBuried.TriggerBuried(session.Clone(), tasks...)
return
}

View File

@ -0,0 +1,181 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
)
const moduleName = "mline"
const (
game_mainchapter = "game_mainchapter.json"
game_mainstage = "game_mainstage.json"
game_mainstarreward = "game_mainstarreward.json"
)
// /配置管理基础组件
type configureComp struct {
modules.MCompConfigure
module *Mainline
hlock sync.RWMutex
_mapMilne map[int32][]int32 // key 章节id value cid
}
// 组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Mainline)
err = this.LoadMultiConfigure(map[string]interface{}{
game_mainchapter: cfg.NewGameMainChapter,
game_mainstage: cfg.NewGameMainStage,
game_mainstarreward: cfg.NewGameMainStarreward,
})
configure.RegisterConfigure(game_mainstage, cfg.NewGameMainStage, this.LoadMlineStage)
return
}
// 读取配置数据
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
return configure.GetConfigure(name)
}
func (this *configureComp) GetMainChapterConf(id int32) (data *cfg.GameMainChapterData) {
if v, err := this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
return configure.Get(id)
}
}
this.module.Errorf("GameMainChapterData conf not found key :%d", id)
return
}
func (this *configureComp) GetMainStarRewardConf(boxId int32) (data []*cfg.GameMainStarrewardData) {
if v, err := this.GetConfigure(game_mainstarreward); err == nil {
if configure, ok := v.(*cfg.GameMainStarreward); ok {
for _, v1 := range configure.GetDataList() {
if v1.Boxid == boxId {
data = append(data, v1)
}
}
}
}
return
}
func (this *configureComp) GetMainStageConf(id int32) (data *cfg.GameMainStageData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
data = configure.Get(id)
if data != nil {
return
}
}
}
err = comm.NewNotFoundConfErr(moduleName, game_mainstage, id)
return
}
// 获取上一关卡信息
func (this *configureComp) GetPreMainChapter(stageId int32) (preStageID int32) {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
for _, v1 := range configure.GetDataList() {
if v1.Previoustage == stageId {
preStageID = v1.Id
break
}
}
}
}
return
}
func (this *configureComp) GetFirstChapterIDByType(iType int32) (conf *cfg.GameMainChapterData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, conf = range configure.GetDataList() {
if conf.ChapterType == iType {
return
}
}
}
}
err = comm.NewNotFoundConfErr(moduleName, game_mainchapter, iType)
return
}
func (this *configureComp) GetFirstStageIDByChapter(chapterID int32) *cfg.GameMainStageData {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
for _, v := range configure.GetDataList() {
if v.Chapterid == chapterID {
return v
}
}
}
}
return nil
}
// 红点用 获取所有章节数据
func (this *configureComp) GetAllChapterID() (chapter []int32) {
if v, err := this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, v1 := range configure.GetDataList() {
chapter = append(chapter, v1.Id)
}
}
}
return
}
func (this *configureComp) GetAllStageByChapterID(chapterID int32) (stage []int32) {
return this._mapMilne[chapterID]
}
func (this *configureComp) LoadMlineStage() {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
this._mapMilne = make(map[int32][]int32)
for _, v1 := range configure.GetDataList() {
this._mapMilne[v1.Chapterid] = append(this._mapMilne[v1.Chapterid], v1.Id)
}
}
}
return
}
// GM 专用 获取这个章节之前的所有章节信息
func (this *configureComp) GMGetPreStage(chapterID int32) (chapter []int32) {
curChapter := this.GetMainChapterConf(chapterID)
if curChapter == nil {
return
}
if v, err := this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, conf := range configure.GetDataList() {
if chapterID == conf.Id {
break
}
chapter = append(chapter, conf.Id)
}
}
}
return
}

View File

@ -0,0 +1,67 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelMline struct {
modules.MCompModel
module *Mainline
}
func (this *ModelMline) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.TableName = comm.TableMainline
err = this.MCompModel.Init(service, module, comp, options)
this.module = module.(*Mainline)
//创建uid索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
// 获取用户全部的埋点数据
func (this *ModelMline) getMainlineData(uid string) (results *pb.DBMainline, err error) {
results = &pb.DBMainline{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
err = nil
results = &pb.DBMainline{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Level: make(map[int32]int32),
Chapteraward: make(map[int32]*pb.DBMainlineAward),
Exploreaward: make(map[int32]*pb.DBMainlineAward),
Groupaward: make(map[int32]*pb.DBMainlineAward),
Ps: make(map[int32]int32),
}
err = this.Add(uid, results)
}
return
}
func (this *ModelMline) updateMainlineData(uid string, data *pb.DBMainline) (err error) {
if err = this.Change(uid, map[string]interface{}{
"Level": data.Level,
"chapteraward": data.Chapteraward,
"exploreaward": data.Exploreaward,
"groupaward": data.Groupaward,
"ps": data.Ps,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
return
}
return
}

View File

@ -0,0 +1,91 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
type Mainline struct {
modules.ModuleBase
modelMline *ModelMline
service core.IService
api *apiComp
configure *configureComp
battle comm.IBattle
}
func NewModule() core.IModule {
return &Mainline{}
}
func (this *Mainline) GetType() core.M_Modules {
return comm.ModuleMline
}
func (this *Mainline) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service
return
}
func (this *Mainline) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelMline = this.RegisterComp(new(ModelMline)).(*ModelMline)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
func (this *Mainline) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
return
}
this.battle = module.(comm.IBattle)
return
}
// 红点查询
func (this *Mainline) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) {
reddot = make(map[comm.ReddotType]*pb.ReddotItem)
for _, v := range rid {
if v == comm.Reddot24101 {
reddot[comm.Reddot24101] = &pb.ReddotItem{
Rid: int32(comm.Reddot24101),
Activated: this.CheckPoint(session.GetUserId()),
}
break
}
}
return
}
// 红点检测
func (this *Mainline) CheckPoint(uid string) bool {
// info, err := this.modelMline.getMainlineData(uid)
// if err != nil {
// return false
// }
// for _, v := range list {
// mLineConf := this.configure.GetMainChapterConf(v.ChapterId)
// if mLineConf == nil {
// return false
// }
// var maxstar int32
// for _, v1 := range v.Star {
// maxstar += v1
// }
// awardConf := this.configure.GetMainStarRewardConf(mLineConf.Starreward)
// for _, v1 := range awardConf {
// if v1.Starnum > maxstar {
// break
// }
// if _, ok := v.Award[v1.Starnum]; !ok { // 找到没有领奖的数据
// return true
// }
// }
// }
return false
}

View File

@ -663,7 +663,7 @@ func (this *ModelSociaty) extendJob(srcMasterId string, sociaty *pb.DBSociaty) e
// 选举新会长
func (this *ModelSociaty) electNewMaster(srcMasterId string, sociaty *pb.DBSociaty) error {
vpIds := []*pb.SociatyMember{} // 副会长
vpIds := []*pb.SociatyMember{} //副会长
aIds := []*pb.SociatyMember{} //管理员
mIds := []*pb.SociatyMember{} //普通成员

View File

@ -37,6 +37,7 @@ const (
// /配置管理基础组件
type MCompConfigure struct {
cbase.ModuleCompBase
module *Tools
hlock sync.RWMutex
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
_sign map[int32]*cfg.GameSignData
@ -60,6 +61,7 @@ type MCompConfigure struct {
// 组件初始化接口
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Tools)
err = this.LoadConfigure(game_global, cfg.NewGameGlobal)
err = this.LoadConfigure(game_initial, cfg.NewGameInitial)
err = this.LoadConfigure(new_hero, cfg.NewGameHero)
@ -402,17 +404,17 @@ func (this *MCompConfigure) GetPlayerlvConfList() (list []*cfg.GamePlayerlvData)
}
// 玩家等级经验配置表
func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.GamePlayerlvData) {
if v, err := this.GetConfigure(game_playerlv); err != nil {
func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.GamePlayerlvData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_playerlv); err != nil {
return
} else {
if configure, ok := v.(*cfg.GamePlayerlv); !ok {
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
if data, ok = v.(*cfg.GamePlayerlv).GetDataMap()[lv]; !ok {
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_playerlv, lv)
return
} else {
if configure != nil {
data = configure.GetDataMap()[lv]
}
}
}
return

View File

@ -1,9 +1,11 @@
package tools
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
@ -67,6 +69,29 @@ func (this *Tools) GetGroupDataByLotteryId(id int32) (data *cfg.GameLotteryData,
func (this *Tools) GetGlobalConf() *cfg.GameGlobalData {
return this.configure.GetGlobalConf()
}
func (this *Tools) GetPlayerlvConf(uid string) (conf *cfg.GamePlayerlvData, errdata *pb.ErrorData) {
var (
user *pb.DBUser
err error
)
if user = this.ModuleUser.GetUser(uid); user != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.String(),
Message: fmt.Sprintf("found user:%s", uid),
}
return
}
if conf, err = this.configure.GetPlayerlvConf(user.Lv); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.String(),
Message: err.Error(),
}
return
}
return
}
func (this *Tools) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error) {
return this.configure.GetPriceGroupCost(pricegroupId, purchase)

View File

@ -1,41 +0,0 @@
package uniongve
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.UniongveInfoReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.UniongveInfoReq) (errdata *pb.ErrorData) {
var (
info *pb.DBUnionGve
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
lock, _ := this.module.modelUniongve.userlock(req.Unionid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Unionid", Value: req.Unionid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelUniongve.getUnionGve(req.Unionid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "info", &pb.UniongveInfoResp{Info: info})
return
}

View File

@ -21,6 +21,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskInfoReq) (errd
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
if wtask, err = this.module.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,

View File

@ -26,6 +26,8 @@ type configureComp struct {
desTask map[int32][]*cfg.GameWorldTaskData //key 分类
groupTask map[int32][]*cfg.GameWorldTaskData //key 任务组
opencmdTask map[string][]*cfg.GameWorldTaskData //key 功能开启
daylock sync.RWMutex
daygroupTasks map[int32][]*cfg.GameAnnulartask_LibraryData //key 条件ID
}
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {

View File

@ -61,7 +61,6 @@ func (this *WTask) OnInstallComp() {
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelwtask = this.RegisterComp(new(ModelWTask)).(*ModelWTask)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// 埋点通知
@ -692,18 +691,11 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断
continue
}
if v.Des == 5 { //商队任务不主动触发
if v.Des == 5 || v.Des == 1 { //商队任务不主动触发 日常任务直接接取不进入可接取列表中
continue
}
wtask.Activations = append(wtask.Activations, v.Key)
changeActiva = true
// if v.AutoAccept == 0 {
// wtask.Activations = append(wtask.Activations, v.Key)
// changeActiva = true
// } else if v.AutoAccept == 1 { //自动接取任务
// wtask.Accepts = append(wtask.Accepts, v.Key)
// changeAccept = true
// }
if v.Des == 2 { //主线任务
wtask.Currchapter = v.Group
}

733
pb/guildgve_db.pb.go Normal file
View File

@ -0,0 +1,733 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: guildgve/guildgve_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//工会boos战 全局配置数据
type DBGuildGveBossConf struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key" bson:"_id"` //唯一ID
Rtime int64 `protobuf:"varint,2,opt,name=rtime,proto3" json:"rtime"` //刷新时间
Boos []int32 `protobuf:"varint,3,rep,packed,name=boos,proto3" json:"boos"` //boosid
}
func (x *DBGuildGveBossConf) Reset() {
*x = DBGuildGveBossConf{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGuildGveBossConf) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGuildGveBossConf) ProtoMessage() {}
func (x *DBGuildGveBossConf) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGuildGveBossConf.ProtoReflect.Descriptor instead.
func (*DBGuildGveBossConf) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBGuildGveBossConf) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *DBGuildGveBossConf) GetRtime() int64 {
if x != nil {
return x.Rtime
}
return 0
}
func (x *DBGuildGveBossConf) GetBoos() []int32 {
if x != nil {
return x.Boos
}
return nil
}
//工会战Boos
type DBGuildGve struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=Guildid,proto3" json:"Guildid" bson:"_id"`
Notice string `protobuf:"bytes,2,opt,name=notice,proto3" json:"notice"` //公告
Fire int32 `protobuf:"varint,3,opt,name=fire,proto3" json:"fire"` //火力
Currstage int32 `protobuf:"varint,4,opt,name=currstage,proto3" json:"currstage"` //当前第几阶段
Rtime int64 `protobuf:"varint,5,opt,name=rtime,proto3" json:"rtime"` //刷新时间
Kills int32 `protobuf:"varint,6,opt,name=kills,proto3" json:"kills"` //击杀数
Lastkilltime int64 `protobuf:"varint,7,opt,name=lastkilltime,proto3" json:"lastkilltime"` //最后击杀时间
Rank int32 `protobuf:"varint,8,opt,name=rank,proto3" json:"rank"` //排名
Boos []*DBGuildGveBoss `protobuf:"bytes,9,rep,name=boos,proto3" json:"boos"` //boos列表
}
func (x *DBGuildGve) Reset() {
*x = DBGuildGve{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGuildGve) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGuildGve) ProtoMessage() {}
func (x *DBGuildGve) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGuildGve.ProtoReflect.Descriptor instead.
func (*DBGuildGve) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBGuildGve) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
func (x *DBGuildGve) GetNotice() string {
if x != nil {
return x.Notice
}
return ""
}
func (x *DBGuildGve) GetFire() int32 {
if x != nil {
return x.Fire
}
return 0
}
func (x *DBGuildGve) GetCurrstage() int32 {
if x != nil {
return x.Currstage
}
return 0
}
func (x *DBGuildGve) GetRtime() int64 {
if x != nil {
return x.Rtime
}
return 0
}
func (x *DBGuildGve) GetKills() int32 {
if x != nil {
return x.Kills
}
return 0
}
func (x *DBGuildGve) GetLastkilltime() int64 {
if x != nil {
return x.Lastkilltime
}
return 0
}
func (x *DBGuildGve) GetRank() int32 {
if x != nil {
return x.Rank
}
return 0
}
func (x *DBGuildGve) GetBoos() []*DBGuildGveBoss {
if x != nil {
return x.Boos
}
return nil
}
//工会成员信息
type DBGuildMember struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"`
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户id
Guild string `protobuf:"bytes,3,opt,name=guild,proto3" json:"guild"` //工会id
Boosticket int32 `protobuf:"varint,4,opt,name=boosticket,proto3" json:"boosticket"` //工会boos战门票
Refreshtime int64 `protobuf:"varint,5,opt,name=refreshtime,proto3" json:"refreshtime"` //门票刷新时间
}
func (x *DBGuildMember) Reset() {
*x = DBGuildMember{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGuildMember) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGuildMember) ProtoMessage() {}
func (x *DBGuildMember) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGuildMember.ProtoReflect.Descriptor instead.
func (*DBGuildMember) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBGuildMember) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBGuildMember) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBGuildMember) GetGuild() string {
if x != nil {
return x.Guild
}
return ""
}
func (x *DBGuildMember) GetBoosticket() int32 {
if x != nil {
return x.Boosticket
}
return 0
}
func (x *DBGuildMember) GetRefreshtime() int64 {
if x != nil {
return x.Refreshtime
}
return 0
}
//工会轮盘记录
type DBGuildRouletteRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=Guildid,proto3" json:"Guildid"` //工会id
Roulette []*DBGveRouletteRecord `protobuf:"bytes,7,rep,name=roulette,proto3" json:"roulette"` //轮盘记录
}
func (x *DBGuildRouletteRecord) Reset() {
*x = DBGuildRouletteRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGuildRouletteRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGuildRouletteRecord) ProtoMessage() {}
func (x *DBGuildRouletteRecord) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGuildRouletteRecord.ProtoReflect.Descriptor instead.
func (*DBGuildRouletteRecord) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{3}
}
func (x *DBGuildRouletteRecord) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
func (x *DBGuildRouletteRecord) GetRoulette() []*DBGveRouletteRecord {
if x != nil {
return x.Roulette
}
return nil
}
//工会boos
type DBGuildGveBoss struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
Record []*DBGveRecord `protobuf:"bytes,3,rep,name=record,proto3" json:"record"`
}
func (x *DBGuildGveBoss) Reset() {
*x = DBGuildGveBoss{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGuildGveBoss) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGuildGveBoss) ProtoMessage() {}
func (x *DBGuildGveBoss) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGuildGveBoss.ProtoReflect.Descriptor instead.
func (*DBGuildGveBoss) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{4}
}
func (x *DBGuildGveBoss) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *DBGuildGveBoss) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
func (x *DBGuildGveBoss) GetRecord() []*DBGveRecord {
if x != nil {
return x.Record
}
return nil
}
//战斗记录
type DBGveRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //uid
Formation []string `protobuf:"bytes,2,rep,name=formation,proto3" json:"formation"` //阵型
Rating int32 `protobuf:"varint,3,opt,name=rating,proto3" json:"rating"` //评级
Harm int32 `protobuf:"varint,4,opt,name=harm,proto3" json:"harm"` //伤害血量
}
func (x *DBGveRecord) Reset() {
*x = DBGveRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGveRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGveRecord) ProtoMessage() {}
func (x *DBGveRecord) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGveRecord.ProtoReflect.Descriptor instead.
func (*DBGveRecord) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{5}
}
func (x *DBGveRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBGveRecord) GetFormation() []string {
if x != nil {
return x.Formation
}
return nil
}
func (x *DBGveRecord) GetRating() int32 {
if x != nil {
return x.Rating
}
return 0
}
func (x *DBGveRecord) GetHarm() int32 {
if x != nil {
return x.Harm
}
return 0
}
type DBGveRouletteRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
}
func (x *DBGveRouletteRecord) Reset() {
*x = DBGveRouletteRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_guildgve_guildgve_db_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGveRouletteRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGveRouletteRecord) ProtoMessage() {}
func (x *DBGveRouletteRecord) ProtoReflect() protoreflect.Message {
mi := &file_guildgve_guildgve_db_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGveRouletteRecord.ProtoReflect.Descriptor instead.
func (*DBGveRouletteRecord) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_db_proto_rawDescGZIP(), []int{6}
}
func (x *DBGveRouletteRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBGveRouletteRecord) GetAward() []*UserAssets {
if x != nil {
return x.Award
}
return nil
}
var File_guildgve_guildgve_db_proto protoreflect.FileDescriptor
var file_guildgve_guildgve_db_proto_rawDesc = []byte{
0x0a, 0x1a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x67, 0x76, 0x65, 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x67, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f,
0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x12, 0x44, 0x42, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x0a, 0x44,
0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x75, 0x69, 0x6c,
0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x69, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x69, 0x72, 0x65, 0x12,
0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x72, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74,
0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73,
0x74, 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e,
0x6b, 0x12, 0x23, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73,
0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x47, 0x75, 0x69,
0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x67, 0x75,
0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74,
0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69,
0x6d, 0x65, 0x22, 0x63, 0x0a, 0x15, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75,
0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74,
0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52,
0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x72,
0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x44, 0x42, 0x47, 0x75, 0x69,
0x6c, 0x64, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f,
0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69,
0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68,
0x70, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x69, 0x0a, 0x0b, 0x44, 0x42, 0x47, 0x76, 0x65,
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x12,
0x0a, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61,
0x72, 0x6d, 0x22, 0x4a, 0x0a, 0x13, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65,
0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61,
0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_guildgve_guildgve_db_proto_rawDescOnce sync.Once
file_guildgve_guildgve_db_proto_rawDescData = file_guildgve_guildgve_db_proto_rawDesc
)
func file_guildgve_guildgve_db_proto_rawDescGZIP() []byte {
file_guildgve_guildgve_db_proto_rawDescOnce.Do(func() {
file_guildgve_guildgve_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_guildgve_guildgve_db_proto_rawDescData)
})
return file_guildgve_guildgve_db_proto_rawDescData
}
var file_guildgve_guildgve_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_guildgve_guildgve_db_proto_goTypes = []interface{}{
(*DBGuildGveBossConf)(nil), // 0: DBGuildGveBossConf
(*DBGuildGve)(nil), // 1: DBGuildGve
(*DBGuildMember)(nil), // 2: DBGuildMember
(*DBGuildRouletteRecord)(nil), // 3: DBGuildRouletteRecord
(*DBGuildGveBoss)(nil), // 4: DBGuildGveBoss
(*DBGveRecord)(nil), // 5: DBGveRecord
(*DBGveRouletteRecord)(nil), // 6: DBGveRouletteRecord
(*UserAssets)(nil), // 7: UserAssets
}
var file_guildgve_guildgve_db_proto_depIdxs = []int32{
4, // 0: DBGuildGve.boos:type_name -> DBGuildGveBoss
6, // 1: DBGuildRouletteRecord.roulette:type_name -> DBGveRouletteRecord
5, // 2: DBGuildGveBoss.record:type_name -> DBGveRecord
7, // 3: DBGveRouletteRecord.award:type_name -> UserAssets
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_guildgve_guildgve_db_proto_init() }
func file_guildgve_guildgve_db_proto_init() {
if File_guildgve_guildgve_db_proto != nil {
return
}
file_comm_proto_init()
if !protoimpl.UnsafeEnabled {
file_guildgve_guildgve_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGuildGveBossConf); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGuildGve); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGuildMember); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGuildRouletteRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGuildGveBoss); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGveRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_guildgve_guildgve_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGveRouletteRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_guildgve_guildgve_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_guildgve_guildgve_db_proto_goTypes,
DependencyIndexes: file_guildgve_guildgve_db_proto_depIdxs,
MessageInfos: file_guildgve_guildgve_db_proto_msgTypes,
}.Build()
File_guildgve_guildgve_db_proto = out.File
file_guildgve_guildgve_db_proto_rawDesc = nil
file_guildgve_guildgve_db_proto_goTypes = nil
file_guildgve_guildgve_db_proto_depIdxs = nil
}

1362
pb/guildgve_msg.pb.go Normal file

File diff suppressed because it is too large Load Diff

View File

@ -29,9 +29,9 @@ type DBMainline struct {
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
Lastlevel int32 `protobuf:"varint,3,opt,name=lastlevel,proto3" json:"lastlevel"` //最后一次通关管卡
Level map[int32]int32 `protobuf:"bytes,4,rep,name=level,proto3" json:"level" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //已通关管卡的星级
Chapteraward map[int32]int32 `protobuf:"bytes,5,rep,name=chapteraward,proto3" json:"chapteraward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //章节进度奖励 key:章节id value:0和没有表示没有完成 1表示已完成未领取 2表示已领取
Exploreaward map[int32]int32 `protobuf:"bytes,6,rep,name=exploreaward,proto3" json:"exploreaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //章节探索奖励 key:章节id value:0和没有表示没有完成 1表示已完成未领取 2表示已领取
Groupaward map[int32]int32 `protobuf:"bytes,7,rep,name=groupaward,proto3" json:"groupaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //章节探索奖励 key:组id value:0和没有表示没有完成 1表示已完成未领取 2表示已领取
Chapteraward map[int32]*DBMainlineAward `protobuf:"bytes,5,rep,name=chapteraward,proto3" json:"chapteraward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节进度奖励
Exploreaward map[int32]*DBMainlineAward `protobuf:"bytes,6,rep,name=exploreaward,proto3" json:"exploreaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励
Groupaward map[int32]*DBMainlineAward `protobuf:"bytes,7,rep,name=groupaward,proto3" json:"groupaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励
Ps map[int32]int32 `protobuf:"bytes,8,rep,name=ps,proto3" json:"ps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 预扣的体力
}
@ -95,21 +95,21 @@ func (x *DBMainline) GetLevel() map[int32]int32 {
return nil
}
func (x *DBMainline) GetChapteraward() map[int32]int32 {
func (x *DBMainline) GetChapteraward() map[int32]*DBMainlineAward {
if x != nil {
return x.Chapteraward
}
return nil
}
func (x *DBMainline) GetExploreaward() map[int32]int32 {
func (x *DBMainline) GetExploreaward() map[int32]*DBMainlineAward {
if x != nil {
return x.Exploreaward
}
return nil
}
func (x *DBMainline) GetGroupaward() map[int32]int32 {
func (x *DBMainline) GetGroupaward() map[int32]*DBMainlineAward {
if x != nil {
return x.Groupaward
}
@ -123,11 +123,66 @@ func (x *DBMainline) GetPs() map[int32]int32 {
return nil
}
type DBMainlineAward struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Award map[int32]int32 `protobuf:"bytes,1,rep,name=award,proto3" json:"award" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key:stage value:0和没有表示没有完成 1表示已完成未领取 2表示已领取
Stage int32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage"` //当前stage
}
func (x *DBMainlineAward) Reset() {
*x = DBMainlineAward{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBMainlineAward) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBMainlineAward) ProtoMessage() {}
func (x *DBMainlineAward) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBMainlineAward.ProtoReflect.Descriptor instead.
func (*DBMainlineAward) Descriptor() ([]byte, []int) {
return file_mainline_mainline_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBMainlineAward) GetAward() map[int32]int32 {
if x != nil {
return x.Award
}
return nil
}
func (x *DBMainlineAward) GetStage() int32 {
if x != nil {
return x.Stage
}
return 0
}
var File_mainline_mainline_db_proto protoreflect.FileDescriptor
var file_mainline_mainline_db_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x05, 0x0a,
0x69, 0x6e, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x05, 0x0a,
0x0a, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 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, 0x1c, 0x0a,
@ -153,24 +208,36 @@ var file_mainline_mainline_db_proto_rawDesc = []byte{
0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 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, 0x3f, 0x0a, 0x11, 0x43,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x11, 0x43,
0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x61, 0x77, 0x61, 0x72, 0x64, 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, 0x3f, 0x0a, 0x11,
0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x77, 0x61, 0x72, 0x64, 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, 0x3d, 0x0a,
0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 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, 0x35, 0x0a, 0x07,
0x50, 0x73, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77,
0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51,
0x0a, 0x11, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x4f, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 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, 0x94, 0x01, 0x0a, 0x0f, 0x44, 0x42,
0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x31, 0x0a,
0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44,
0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x41,
0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 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,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -185,26 +252,32 @@ func file_mainline_mainline_db_proto_rawDescGZIP() []byte {
return file_mainline_mainline_db_proto_rawDescData
}
var file_mainline_mainline_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_mainline_mainline_db_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_mainline_mainline_db_proto_goTypes = []interface{}{
(*DBMainline)(nil), // 0: DBMainline
nil, // 1: DBMainline.LevelEntry
nil, // 2: DBMainline.ChapterawardEntry
nil, // 3: DBMainline.ExploreawardEntry
nil, // 4: DBMainline.GroupawardEntry
nil, // 5: DBMainline.PsEntry
(*DBMainlineAward)(nil), // 1: DBMainlineAward
nil, // 2: DBMainline.LevelEntry
nil, // 3: DBMainline.ChapterawardEntry
nil, // 4: DBMainline.ExploreawardEntry
nil, // 5: DBMainline.GroupawardEntry
nil, // 6: DBMainline.PsEntry
nil, // 7: DBMainlineAward.AwardEntry
}
var file_mainline_mainline_db_proto_depIdxs = []int32{
1, // 0: DBMainline.level:type_name -> DBMainline.LevelEntry
2, // 1: DBMainline.chapteraward:type_name -> DBMainline.ChapterawardEntry
3, // 2: DBMainline.exploreaward:type_name -> DBMainline.ExploreawardEntry
4, // 3: DBMainline.groupaward:type_name -> DBMainline.GroupawardEntry
5, // 4: DBMainline.ps:type_name -> DBMainline.PsEntry
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
2, // 0: DBMainline.level:type_name -> DBMainline.LevelEntry
3, // 1: DBMainline.chapteraward:type_name -> DBMainline.ChapterawardEntry
4, // 2: DBMainline.exploreaward:type_name -> DBMainline.ExploreawardEntry
5, // 3: DBMainline.groupaward:type_name -> DBMainline.GroupawardEntry
6, // 4: DBMainline.ps:type_name -> DBMainline.PsEntry
7, // 5: DBMainlineAward.award:type_name -> DBMainlineAward.AwardEntry
1, // 6: DBMainline.ChapterawardEntry.value:type_name -> DBMainlineAward
1, // 7: DBMainline.ExploreawardEntry.value:type_name -> DBMainlineAward
1, // 8: DBMainline.GroupawardEntry.value:type_name -> DBMainlineAward
9, // [9:9] is the sub-list for method output_type
9, // [9:9] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_mainline_mainline_db_proto_init() }
@ -225,6 +298,18 @@ func file_mainline_mainline_db_proto_init() {
return nil
}
}
file_mainline_mainline_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBMainlineAward); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -232,7 +317,7 @@ func file_mainline_mainline_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mainline_mainline_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumMessages: 8,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -325,7 +325,6 @@ type SociatyMember struct {
Job SociatyJob `protobuf:"varint,2,opt,name=job,proto3,enum=SociatyJob" json:"job" bson:"job"` //职位
Ctime int64 `protobuf:"varint,3,opt,name=ctime,proto3" json:"ctime" bson:"ctime"` //入会时间
Contribution int32 `protobuf:"varint,4,opt,name=contribution,proto3" json:"contribution" bson:"contribution"` //贡献值
Teams map[int32]*ChallengeTeam `protobuf:"bytes,5,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"teams"` // 公会BOSS 队伍
}
func (x *SociatyMember) Reset() {
@ -388,13 +387,6 @@ func (x *SociatyMember) GetContribution() int32 {
return 0
}
func (x *SociatyMember) GetTeams() map[int32]*ChallengeTeam {
if x != nil {
return x.Teams
}
return nil
}
// 日志
type SociatyLog struct {
state protoimpl.MessageState
@ -1220,116 +1212,108 @@ var file_sociaty_sociaty_db_proto_rawDesc = []byte{
0x35, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f,
0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74,
0x65, 0x61, 0x6d, 0x73, 0x1a, 0x48, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54,
0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c,
0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x0c,
0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69,
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x0d,
0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x0a,
0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a,
0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x74,
0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a,
0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7c, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
0x12, 0x21, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x43, 0x6f, 0x6e, 0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x63,
0x6f, 0x6e, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x83,
0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b,
0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x7a, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22,
0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67,
0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65,
0x22, 0x4d, 0x0a, 0x0c, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67,
0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
0x74, 0x69, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72,
0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49,
0x64, 0x22, 0x3f, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65,
0x61, 0x6d, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42,
0x6f, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x74,
0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75,
0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x69, 0x64, 0x73, 0x22,
0xdc, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72,
0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72,
0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72,
0x74, 0x69, 0x6d, 0x65, 0x1a, 0x48, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54,
0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f,
0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12,
0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
0xe1, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x6f, 0x73,
0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67,
0x72, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65,
0x67, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a,
0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43,
0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, 0x6f,
0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49,
0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, 0x50, 0x52, 0x45, 0x53, 0x49,
0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x53, 0x49, 0x44,
0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f,
0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22,
0xc7, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x64, 0x12, 0x28, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x61,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7c, 0x0a, 0x0b, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x6e, 0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
0x73, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a,
0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68,
0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x18, 0x0a,
0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c,
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75,
0x69, 0x64, 0x73, 0x22, 0xdc, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e,
0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e,
0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x48, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x3f, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09,
0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0e, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, 0x00,
0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05,
0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, 0x50,
0x52, 0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52,
0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -1345,7 +1329,7 @@ func file_sociaty_sociaty_db_proto_rawDescGZIP() []byte {
}
var file_sociaty_sociaty_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_sociaty_sociaty_db_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_sociaty_sociaty_db_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_sociaty_sociaty_db_proto_goTypes = []interface{}{
(SociatyJob)(0), // 0: SociatyJob
(*DBSociaty)(nil), // 1: DBSociaty
@ -1363,31 +1347,28 @@ var file_sociaty_sociaty_db_proto_goTypes = []interface{}{
(*ChallengeRecord)(nil), // 13: ChallengeRecord
(*ChallengeTask)(nil), // 14: ChallengeTask
(*DBSociatyBossRecord)(nil), // 15: DBSociatyBossRecord
nil, // 16: SociatyMember.TeamsEntry
nil, // 17: ChallengeRecord.TeamsEntry
(*ConIProgress)(nil), // 18: ConIProgress
(*BattleFormation)(nil), // 19: BattleFormation
nil, // 16: ChallengeRecord.TeamsEntry
(*ConIProgress)(nil), // 17: ConIProgress
(*BattleFormation)(nil), // 18: BattleFormation
}
var file_sociaty_sociaty_db_proto_depIdxs = []int32{
2, // 0: DBSociaty.applyRecord:type_name -> ApplyRecord
3, // 1: DBSociaty.members:type_name -> SociatyMember
0, // 2: SociatyMember.job:type_name -> SociatyJob
16, // 3: SociatyMember.teams:type_name -> SociatyMember.TeamsEntry
4, // 4: DBSociatyLog.list:type_name -> SociatyLog
7, // 5: DBSociatyTask.taskList:type_name -> SociatyTask
8, // 6: DBSociatyTask.activityList:type_name -> SociatyActivity
18, // 7: SociatyTask.cond:type_name -> ConIProgress
19, // 8: ChallengeTeam.formation:type_name -> BattleFormation
17, // 9: ChallengeRecord.teams:type_name -> ChallengeRecord.TeamsEntry
13, // 10: DBSociatyBossRecord.record:type_name -> ChallengeRecord
14, // 11: DBSociatyBossRecord.tasks:type_name -> ChallengeTask
11, // 12: SociatyMember.TeamsEntry.value:type_name -> ChallengeTeam
11, // 13: ChallengeRecord.TeamsEntry.value:type_name -> ChallengeTeam
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
4, // 3: DBSociatyLog.list:type_name -> SociatyLog
7, // 4: DBSociatyTask.taskList:type_name -> SociatyTask
8, // 5: DBSociatyTask.activityList:type_name -> SociatyActivity
17, // 6: SociatyTask.cond:type_name -> ConIProgress
18, // 7: ChallengeTeam.formation:type_name -> BattleFormation
16, // 8: ChallengeRecord.teams:type_name -> ChallengeRecord.TeamsEntry
13, // 9: DBSociatyBossRecord.record:type_name -> ChallengeRecord
14, // 10: DBSociatyBossRecord.tasks:type_name -> ChallengeTask
11, // 11: ChallengeRecord.TeamsEntry.value:type_name -> ChallengeTeam
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_sociaty_sociaty_db_proto_init() }
@ -1585,7 +1566,7 @@ func file_sociaty_sociaty_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sociaty_sociaty_db_proto_rawDesc,
NumEnums: 1,
NumMessages: 17,
NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1,632 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: uniongve/uniongve_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//工会boos战 全局配置数据
type DBUnionGveBossConf struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key" bson:"_id"` //唯一ID
Rtime int64 `protobuf:"varint,2,opt,name=rtime,proto3" json:"rtime"` //刷新时间
Boos []int32 `protobuf:"varint,3,rep,packed,name=boos,proto3" json:"boos"` //boosid
}
func (x *DBUnionGveBossConf) Reset() {
*x = DBUnionGveBossConf{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBUnionGveBossConf) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBUnionGveBossConf) ProtoMessage() {}
func (x *DBUnionGveBossConf) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBUnionGveBossConf.ProtoReflect.Descriptor instead.
func (*DBUnionGveBossConf) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBUnionGveBossConf) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *DBUnionGveBossConf) GetRtime() int64 {
if x != nil {
return x.Rtime
}
return 0
}
func (x *DBUnionGveBossConf) GetBoos() []int32 {
if x != nil {
return x.Boos
}
return nil
}
//工会战Boos
type DBUnionGve struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Unionid string `protobuf:"bytes,1,opt,name=unionid,proto3" json:"unionid" bson:"_id"` // 背包格子Id
Notice string `protobuf:"bytes,2,opt,name=notice,proto3" json:"notice"` //公告
Fire int32 `protobuf:"varint,3,opt,name=fire,proto3" json:"fire"` //火力
Currstage int32 `protobuf:"varint,4,opt,name=currstage,proto3" json:"currstage"` //当前第几阶段
Rtime int64 `protobuf:"varint,5,opt,name=rtime,proto3" json:"rtime"` //刷新时间
Kills int32 `protobuf:"varint,6,opt,name=kills,proto3" json:"kills"` //击杀数
Lastkilltime int64 `protobuf:"varint,7,opt,name=lastkilltime,proto3" json:"lastkilltime"` //最后击杀时间
Rank int32 `protobuf:"varint,8,opt,name=rank,proto3" json:"rank"` //排名
Boos []*DBUnionGveBoss `protobuf:"bytes,9,rep,name=boos,proto3" json:"boos"` //boos列表
}
func (x *DBUnionGve) Reset() {
*x = DBUnionGve{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBUnionGve) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBUnionGve) ProtoMessage() {}
func (x *DBUnionGve) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBUnionGve.ProtoReflect.Descriptor instead.
func (*DBUnionGve) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBUnionGve) GetUnionid() string {
if x != nil {
return x.Unionid
}
return ""
}
func (x *DBUnionGve) GetNotice() string {
if x != nil {
return x.Notice
}
return ""
}
func (x *DBUnionGve) GetFire() int32 {
if x != nil {
return x.Fire
}
return 0
}
func (x *DBUnionGve) GetCurrstage() int32 {
if x != nil {
return x.Currstage
}
return 0
}
func (x *DBUnionGve) GetRtime() int64 {
if x != nil {
return x.Rtime
}
return 0
}
func (x *DBUnionGve) GetKills() int32 {
if x != nil {
return x.Kills
}
return 0
}
func (x *DBUnionGve) GetLastkilltime() int64 {
if x != nil {
return x.Lastkilltime
}
return 0
}
func (x *DBUnionGve) GetRank() int32 {
if x != nil {
return x.Rank
}
return 0
}
func (x *DBUnionGve) GetBoos() []*DBUnionGveBoss {
if x != nil {
return x.Boos
}
return nil
}
//工会轮盘记录
type DBUnionRouletteRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Unionid string `protobuf:"bytes,1,opt,name=unionid,proto3" json:"unionid"` //工会id
Roulette []*DBGveRouletteRecord `protobuf:"bytes,7,rep,name=roulette,proto3" json:"roulette"` //轮盘记录
}
func (x *DBUnionRouletteRecord) Reset() {
*x = DBUnionRouletteRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBUnionRouletteRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBUnionRouletteRecord) ProtoMessage() {}
func (x *DBUnionRouletteRecord) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBUnionRouletteRecord.ProtoReflect.Descriptor instead.
func (*DBUnionRouletteRecord) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBUnionRouletteRecord) GetUnionid() string {
if x != nil {
return x.Unionid
}
return ""
}
func (x *DBUnionRouletteRecord) GetRoulette() []*DBGveRouletteRecord {
if x != nil {
return x.Roulette
}
return nil
}
//工会boos
type DBUnionGveBoss struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
Record []*DBGveRecord `protobuf:"bytes,3,rep,name=record,proto3" json:"record"`
}
func (x *DBUnionGveBoss) Reset() {
*x = DBUnionGveBoss{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBUnionGveBoss) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBUnionGveBoss) ProtoMessage() {}
func (x *DBUnionGveBoss) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBUnionGveBoss.ProtoReflect.Descriptor instead.
func (*DBUnionGveBoss) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{3}
}
func (x *DBUnionGveBoss) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *DBUnionGveBoss) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
func (x *DBUnionGveBoss) GetRecord() []*DBGveRecord {
if x != nil {
return x.Record
}
return nil
}
//战斗记录
type DBGveRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //uid
Formation []string `protobuf:"bytes,2,rep,name=formation,proto3" json:"formation"` //阵型
Rating int32 `protobuf:"varint,3,opt,name=rating,proto3" json:"rating"` //评级
Harm int32 `protobuf:"varint,4,opt,name=harm,proto3" json:"harm"` //伤害血量
}
func (x *DBGveRecord) Reset() {
*x = DBGveRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGveRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGveRecord) ProtoMessage() {}
func (x *DBGveRecord) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGveRecord.ProtoReflect.Descriptor instead.
func (*DBGveRecord) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{4}
}
func (x *DBGveRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBGveRecord) GetFormation() []string {
if x != nil {
return x.Formation
}
return nil
}
func (x *DBGveRecord) GetRating() int32 {
if x != nil {
return x.Rating
}
return 0
}
func (x *DBGveRecord) GetHarm() int32 {
if x != nil {
return x.Harm
}
return 0
}
type DBGveRouletteRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
}
func (x *DBGveRouletteRecord) Reset() {
*x = DBGveRouletteRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_uniongve_uniongve_db_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBGveRouletteRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBGveRouletteRecord) ProtoMessage() {}
func (x *DBGveRouletteRecord) ProtoReflect() protoreflect.Message {
mi := &file_uniongve_uniongve_db_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBGveRouletteRecord.ProtoReflect.Descriptor instead.
func (*DBGveRouletteRecord) Descriptor() ([]byte, []int) {
return file_uniongve_uniongve_db_proto_rawDescGZIP(), []int{5}
}
func (x *DBGveRouletteRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBGveRouletteRecord) GetAward() []*UserAssets {
if x != nil {
return x.Award
}
return nil
}
var File_uniongve_uniongve_db_proto protoreflect.FileDescriptor
var file_uniongve_uniongve_db_proto_rawDesc = []byte{
0x0a, 0x1a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x67, 0x76, 0x65, 0x2f, 0x75, 0x6e, 0x69, 0x6f, 0x6e,
0x67, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f,
0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x12, 0x44, 0x42, 0x55, 0x6e,
0x69, 0x6f, 0x6e, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x0a, 0x44,
0x42, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x47, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x6e, 0x69,
0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f,
0x6e, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x69, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x69, 0x72, 0x65, 0x12,
0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x72, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74,
0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73,
0x74, 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e,
0x6b, 0x12, 0x23, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x44, 0x42, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73,
0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0x63, 0x0a, 0x15, 0x44, 0x42, 0x55, 0x6e, 0x69, 0x6f,
0x6e, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x6f, 0x75,
0x6c, 0x65, 0x74, 0x74, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42,
0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x44,
0x42, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x47, 0x76, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x69, 0x0a, 0x0b, 0x44,
0x42, 0x47, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61,
0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x22, 0x4a, 0x0a, 0x13, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52,
0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a,
0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61,
0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_uniongve_uniongve_db_proto_rawDescOnce sync.Once
file_uniongve_uniongve_db_proto_rawDescData = file_uniongve_uniongve_db_proto_rawDesc
)
func file_uniongve_uniongve_db_proto_rawDescGZIP() []byte {
file_uniongve_uniongve_db_proto_rawDescOnce.Do(func() {
file_uniongve_uniongve_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_uniongve_uniongve_db_proto_rawDescData)
})
return file_uniongve_uniongve_db_proto_rawDescData
}
var file_uniongve_uniongve_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_uniongve_uniongve_db_proto_goTypes = []interface{}{
(*DBUnionGveBossConf)(nil), // 0: DBUnionGveBossConf
(*DBUnionGve)(nil), // 1: DBUnionGve
(*DBUnionRouletteRecord)(nil), // 2: DBUnionRouletteRecord
(*DBUnionGveBoss)(nil), // 3: DBUnionGveBoss
(*DBGveRecord)(nil), // 4: DBGveRecord
(*DBGveRouletteRecord)(nil), // 5: DBGveRouletteRecord
(*UserAssets)(nil), // 6: UserAssets
}
var file_uniongve_uniongve_db_proto_depIdxs = []int32{
3, // 0: DBUnionGve.boos:type_name -> DBUnionGveBoss
5, // 1: DBUnionRouletteRecord.roulette:type_name -> DBGveRouletteRecord
4, // 2: DBUnionGveBoss.record:type_name -> DBGveRecord
6, // 3: DBGveRouletteRecord.award:type_name -> UserAssets
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_uniongve_uniongve_db_proto_init() }
func file_uniongve_uniongve_db_proto_init() {
if File_uniongve_uniongve_db_proto != nil {
return
}
file_comm_proto_init()
if !protoimpl.UnsafeEnabled {
file_uniongve_uniongve_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBUnionGveBossConf); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_uniongve_uniongve_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBUnionGve); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_uniongve_uniongve_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBUnionRouletteRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_uniongve_uniongve_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBUnionGveBoss); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_uniongve_uniongve_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGveRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_uniongve_uniongve_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBGveRouletteRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_uniongve_uniongve_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_uniongve_uniongve_db_proto_goTypes,
DependencyIndexes: file_uniongve_uniongve_db_proto_depIdxs,
MessageInfos: file_uniongve_uniongve_db_proto_msgTypes,
}.Build()
File_uniongve_uniongve_db_proto = out.File
file_uniongve_uniongve_db_proto_rawDesc = nil
file_uniongve_uniongve_db_proto_goTypes = nil
file_uniongve_uniongve_db_proto_depIdxs = nil
}

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,7 @@ import (
"go_dreamfactory/modules/gourmet"
"go_dreamfactory/modules/growtask"
"go_dreamfactory/modules/guidance"
"go_dreamfactory/modules/guildgve"
"go_dreamfactory/modules/hero"
"go_dreamfactory/modules/horoscope"
"go_dreamfactory/modules/hunting"
@ -50,7 +51,6 @@ import (
"go_dreamfactory/modules/sys"
"go_dreamfactory/modules/task"
"go_dreamfactory/modules/tools"
"go_dreamfactory/modules/uniongve"
"go_dreamfactory/modules/user"
"go_dreamfactory/modules/viking"
"go_dreamfactory/modules/warorder"
@ -136,11 +136,8 @@ func main() {
wtask.NewModule(),
passon.NewModule(),
warorder.NewModule(),
uniongve.NewModule(),
// dailytask.NewModule(),
guildgve.NewModule(),
stonehenge.NewModule(),
dailytask.NewModule(),
questionnaire.NewModule(),
)

View File

@ -17,6 +17,7 @@ type GamePlayerlvData struct {
PsCeiling int32
CopsPsCeiling int32
HeroLv int32
GuildBossCeiling int32
}
const TypeId_GamePlayerlvData = 927774449
@ -45,6 +46,7 @@ func (_v *GamePlayerlvData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ps_ceiling"].(float64); !_ok_ { err = errors.New("ps_ceiling error"); return }; _v.PsCeiling = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_ps_ceiling"].(float64); !_ok_ { err = errors.New("cops_ps_ceiling error"); return }; _v.CopsPsCeiling = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hero_lv"].(float64); !_ok_ { err = errors.New("hero_lv error"); return }; _v.HeroLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_boss_ceiling"].(float64); !_ok_ { err = errors.New("guild_boss_ceiling error"); return }; _v.GuildBossCeiling = int32(_tempNum_) }
return
}