diff --git a/bin/json/game_buriedcondi.json b/bin/json/game_buriedcondi.json
index f509f8914..2462e48ac 100644
--- a/bin/json/game_buriedcondi.json
+++ b/bin/json/game_buriedcondi.json
@@ -17467,7 +17467,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_747",
- "text": "功夫大师挑战塔3层"
+ "text": "高能武者挑战塔3层"
},
"type": 168,
"valid": 0,
@@ -17853,7 +17853,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_763",
- "text": "功夫大师挑战塔5层"
+ "text": "高能武者挑战塔5层"
},
"type": 168,
"valid": 0,
@@ -18238,12 +18238,12 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_779",
- "text": "功夫大师挑战塔5层"
+ "text": "高能武者挑战塔8层"
},
"type": 168,
"valid": 0,
"NPC": 10534,
- "value": 5,
+ "value": 8,
"filter": [
1
],
@@ -18572,7 +18572,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_793",
- "text": "功夫大师挑战塔10层"
+ "text": "高能武者挑战塔10层"
},
"type": 168,
"valid": 0,
@@ -18974,7 +18974,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_810",
- "text": "功夫大师挑战塔20层"
+ "text": "高能武者挑战塔20层"
},
"type": 168,
"valid": 0,
@@ -19124,7 +19124,7 @@
"NPC": 10904,
"value": 1,
"filter": [
- 1200103
+ 1101203
],
"filter2": [
"关卡ID",
diff --git a/bin/json/game_chatsystem.json b/bin/json/game_chatsystem.json
index 49e13bf6b..faf0ec808 100644
--- a/bin/json/game_chatsystem.json
+++ b/bin/json/game_chatsystem.json
@@ -176,7 +176,7 @@
"datatype": 3,
"text": {
"key": "chat_system_text_11",
- "text": "【传闻】{0}已经{1}培养至60级!"
+ "text": "【传闻】{0}已经将{1}培养至60级!"
},
"data": 60,
"data2": 0,
@@ -191,7 +191,7 @@
"datatype": 3,
"text": {
"key": "chat_system_text_12",
- "text": "【传闻】{0}已经{1}培养至6星!"
+ "text": "【传闻】{0}已经将{1}培养至6星!"
},
"data": 5,
"data2": 0,
@@ -206,7 +206,7 @@
"datatype": 3,
"text": {
"key": "chat_system_text_13",
- "text": "【传闻】{0}已经{1}技能培养至满级!"
+ "text": "【传闻】{0}已经将{1}技能培养至满级!"
},
"data": 5,
"data2": 0,
@@ -221,7 +221,7 @@
"datatype": 3,
"text": {
"key": "chat_system_text_14",
- "text": "【传闻】{0}已经{1}回响至满级!"
+ "text": "【传闻】{0}已经将{1}回响至满级!"
},
"data": 5,
"data2": 0,
@@ -236,7 +236,7 @@
"datatype": 3,
"text": {
"key": "chat_system_text_15",
- "text": "【传闻】{0}已经{1}觉醒至满级!"
+ "text": "【传闻】{0}已经将{1}觉醒至满级!"
},
"data": 5,
"data2": 0,
diff --git a/bin/json/game_global.json b/bin/json/game_global.json
index 345818184..8729d3690 100644
--- a/bin/json/game_global.json
+++ b/bin/json/game_global.json
@@ -220,48 +220,7 @@
"t": "18000004",
"n": 1
},
- "Arena_buy": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 100
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 200
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 400
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 600
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 800
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 1000
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 1200
- },
- {
- "a": "attr",
- "t": "diamond",
- "n": 1400
- }
- ],
+ "Arena_buy": 1001,
"VikingExpedition_RecoveryTime": 144,
"cops_RecoveryTime": 300,
"cops_InitialNum": 60,
diff --git a/bin/json/game_item.json b/bin/json/game_item.json
index 1260d4cad..46f6b08c0 100644
--- a/bin/json/game_item.json
+++ b/bin/json/game_item.json
@@ -8666,7 +8666,7 @@
"img": "item_15000101",
"intr": {
"key": "item_item_intr_251",
- "text": "狩猎头目的初级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的初级掉落物,可用于真诚阵营守护者回响。"
},
"sale": [
{
@@ -8717,7 +8717,7 @@
"img": "item_15000102",
"intr": {
"key": "item_item_intr_252",
- "text": "狩猎头目的初级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的初级掉落物,可用于直觉阵营守护者回响。"
},
"sale": [
{
@@ -8768,7 +8768,7 @@
"img": "item_15000103",
"intr": {
"key": "item_item_intr_253",
- "text": "狩猎头目的初级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的初级掉落物,可用于共情阵营守护者回响。"
},
"sale": [
{
@@ -8819,7 +8819,7 @@
"img": "item_15000104",
"intr": {
"key": "item_item_intr_254",
- "text": "狩猎头目的初级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的初级掉落物,可用于责任阵营守护者回响。"
},
"sale": [
{
@@ -8870,7 +8870,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000201",
+ "t": "15000101",
"n": 2
}
],
@@ -8882,7 +8882,7 @@
"img": "item_15000201",
"intr": {
"key": "item_item_intr_255",
- "text": "狩猎头目的中级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的中级掉落物,可用于真诚阵营守护者回响。"
},
"sale": [
{
@@ -8933,7 +8933,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000202",
+ "t": "15000102",
"n": 2
}
],
@@ -8945,7 +8945,7 @@
"img": "item_15000202",
"intr": {
"key": "item_item_intr_256",
- "text": "狩猎头目的中级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的中级掉落物,可用于直觉阵营守护者回响。"
},
"sale": [
{
@@ -8996,7 +8996,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000203",
+ "t": "15000103",
"n": 2
}
],
@@ -9008,7 +9008,7 @@
"img": "item_15000203",
"intr": {
"key": "item_item_intr_257",
- "text": "狩猎头目的中级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的中级掉落物,可用于共情阵营守护者回响。"
},
"sale": [
{
@@ -9059,7 +9059,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000204",
+ "t": "15000104",
"n": 2
}
],
@@ -9071,7 +9071,7 @@
"img": "item_15000204",
"intr": {
"key": "item_item_intr_258",
- "text": "狩猎头目的中级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的中级掉落物,可用于责任阵营守护者回响。"
},
"sale": [
{
@@ -9110,7 +9110,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000301",
+ "t": "15000201",
"n": 2
}
],
@@ -9122,7 +9122,7 @@
"img": "item_15000301",
"intr": {
"key": "item_item_intr_259",
- "text": "狩猎头目的高级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的高级掉落物,可用于真诚阵营守护者回响。"
},
"sale": [
{
@@ -9161,7 +9161,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000302",
+ "t": "15000202",
"n": 2
}
],
@@ -9173,7 +9173,7 @@
"img": "item_15000302",
"intr": {
"key": "item_item_intr_260",
- "text": "狩猎头目的高级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的高级掉落物,可用于直觉阵营守护者回响。"
},
"sale": [
{
@@ -9212,7 +9212,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000303",
+ "t": "15000203",
"n": 2
}
],
@@ -9224,7 +9224,7 @@
"img": "item_15000303",
"intr": {
"key": "item_item_intr_261",
- "text": "狩猎头目的高级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的高级掉落物,可用于共情阵营守护者回响。"
},
"sale": [
{
@@ -9263,7 +9263,7 @@
"decompose_get": [
{
"a": "item",
- "t": "15000304",
+ "t": "15000204",
"n": 2
}
],
@@ -9275,7 +9275,7 @@
"img": "item_15000304",
"intr": {
"key": "item_item_intr_262",
- "text": "狩猎头目的高级掉落物,可用于守护者回响。"
+ "text": "狩猎头目的高级掉落物,可用于责任阵营守护者回响。"
},
"sale": [
{
diff --git a/bin/json/game_navigation.json b/bin/json/game_navigation.json
index 4604b5d26..10798aaf4 100644
--- a/bin/json/game_navigation.json
+++ b/bin/json/game_navigation.json
@@ -228,7 +228,7 @@
"text": "木桩"
},
"npcName": [
- "木桩"
+ "木桩1"
],
"functionicon": "ty_qp_mz",
"jumpId": 10001
diff --git a/bin/json/game_playerlv.json b/bin/json/game_playerlv.json
index b59459a16..c34c64354 100644
--- a/bin/json/game_playerlv.json
+++ b/bin/json/game_playerlv.json
@@ -19,7 +19,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -38,7 +38,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -57,7 +57,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -76,7 +76,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -95,7 +95,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -114,7 +114,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -133,7 +133,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -152,7 +152,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -171,7 +171,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -190,7 +190,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -209,7 +209,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -228,7 +228,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -247,7 +247,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -266,7 +266,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -285,7 +285,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -304,7 +304,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -323,7 +323,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -342,7 +342,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -361,7 +361,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -380,7 +380,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -399,7 +399,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -418,7 +418,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -437,7 +437,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -456,7 +456,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -475,7 +475,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -494,7 +494,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -513,7 +513,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -532,7 +532,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -551,7 +551,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -570,7 +570,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -589,7 +589,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -608,7 +608,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -627,7 +627,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -646,7 +646,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -665,7 +665,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -684,7 +684,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -703,7 +703,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -722,7 +722,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -741,7 +741,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -760,7 +760,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -779,7 +779,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -798,7 +798,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -817,7 +817,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -836,7 +836,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -855,7 +855,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -874,7 +874,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -893,7 +893,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -912,7 +912,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -931,7 +931,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -950,7 +950,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -969,7 +969,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -988,7 +988,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1007,7 +1007,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1026,7 +1026,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1045,7 +1045,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1064,7 +1064,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1083,7 +1083,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1102,7 +1102,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
@@ -1121,7 +1121,7 @@
{
"a": "attr",
"t": "starcoin",
- "n": 40
+ "n": 400
}
],
"ps_ceiling": 180,
diff --git a/bin/json/game_pricegroup.json b/bin/json/game_pricegroup.json
index be421e355..74b29a9f4 100644
--- a/bin/json/game_pricegroup.json
+++ b/bin/json/game_pricegroup.json
@@ -89,5 +89,18 @@
"n": 250
}
]
+ },
+ {
+ "id": 8,
+ "pricegroupId": 1001,
+ "purchasemin": 11,
+ "purchasemax": -1,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 250
+ }
+ ]
}
]
\ No newline at end of file
diff --git a/bin/json/game_ruledesc.json b/bin/json/game_ruledesc.json
index 1058a1d1b..f23f957cb 100644
--- a/bin/json/game_ruledesc.json
+++ b/bin/json/game_ruledesc.json
@@ -29,18 +29,18 @@
},
"content": {
"key": "ruledesc_ruledesc_content_3",
- "text": "这里可以查看与各个守护者们的好感度。"
+ "text": "这里可以查看与各个守护者们的好感度。
点击守护者可以进入守护者送礼界面。"
}
},
{
"id": 10004,
"title": {
"key": "ruledesc_ruledesc_title_4",
- "text": "好感度详细说明"
+ "text": "好感度说明"
},
"content": {
"key": "ruledesc_ruledesc_content_4",
- "text": "这里可以给守护者送礼,提升与守护者的好感度。"
+ "text": "这里可以给守护者送礼,提升与守护者的好感度。
每个守护者每日最多送礼9次,且每次赠送会随着饱腹度的增加而减少好感度的增加。
每日赠送1-3次,为100%的食物好感度。
每日赠送4-6次,为80%的食物好感度。
每日赠送7-9次,为50%的好感度。
每个守护者有喜欢的食物与讨厌的食物,赠送喜欢的食物增加的好感度为1.5倍,且对话也有所不同。"
}
},
{
@@ -51,14 +51,14 @@
},
"content": {
"key": "ruledesc_ruledesc_content_5",
- "text": "这里可以查看各种功夫陪练,完成陪练可以获得高额奖励,完成一定数量的陪练还有格外奖励。"
+ "text": "这里可以查看各种功夫陪练,完成陪练可以获得高额奖励。
完成3/6/9次的陪练还有格外奖励可以领取。"
}
},
{
"id": 10006,
"title": {
"key": "ruledesc_ruledesc_title_6",
- "text": "功夫陪练详细说明"
+ "text": "陪练详细说明"
},
"content": {
"key": "ruledesc_ruledesc_content_6",
@@ -84,7 +84,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_8",
- "text": "这里可以与其他玩家的阵容进行对决,也可以挑战电脑阵容来获取奖励。
挑战电脑阵容难度随等级解锁,挑战需要消耗竞技场挑战卷。
挑战玩家也需消耗竞技场挑战卷,战胜玩家获得积分,在每周结算时根据积分排名来获得奖励。"
+ "text": "这里可以与其他玩家的阵容进行对决,也可以挑战电脑阵容来获取奖励。
挑战电脑阵容难度随等级解锁,挑战需要消耗竞技场挑战卷。
竞技场挑战卷随时间恢复,每144分钟回复一张。
可以使用钻石直接购买竞技场挑战卷。购买上限最多为8张。每次购买消耗的钻石逐级递增。
挑战玩家也需消耗竞技场挑战卷,战胜玩家获得积分,在每周结算时根据积分排名来获得奖励。
积分排名逻辑:
黑铁:0—799,竞技胜利获胜奖励为竞技币10个。
青铜:800-1299,竞技胜利获胜奖励为竞技币12个。
白银:1300-1599,竞技胜利获胜奖励为竞技币14个。
黄金:1600-2199,竞技胜利获胜奖励为竞技币16个。
铂金:2200-2799,竞技胜利获胜奖励为竞技币18个。
钻石:2800-3699,竞技胜利获胜奖励为竞技币20个。
大师:3700-4599,竞技胜利获胜奖励为竞技币22个。
王者:4600以上,竞技胜利获胜奖励为竞技币22个。
积分排名奖励具体查看排名中的奖励预览。"
}
},
{
@@ -135,11 +135,11 @@
"id": 10013,
"title": {
"key": "ruledesc_ruledesc_title_13",
- "text": "主线关卡世界说明"
+ "text": "冒险关卡说明"
},
"content": {
"key": "ruledesc_ruledesc_content_13",
- "text": "这里可以挑战主线并赢取巨量奖励。"
+ "text": "这里可以挑战冒险关卡并赢取巨量奖励。"
}
},
{
@@ -161,7 +161,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_15",
- "text": "这里可以查看你获得的所有守护者们,选择守护者点击右侧按钮可以查看详细界面并且强化他们。
在强化界面,可以有各种方式强化守护者。
守护者等级强化:
点击守护者经验条下方的加号按钮可以进入守护者升级界面,使用护身符可以快速提升守护者等级。
守护者升星:
当守护者等级达到当前星级最大值(三星最大等级为30级,四星为40级,5星为50级),可以使用荣耀徽章提升守护者星级,并解锁最高等级上限。守护者最高为6星
守护者技能等级强化:
点击技能图标上方的按钮,可以进入守护者技能升级界面,使用不同等级的功夫卷轴可以强化不同稀有度的守护者的技能等级。
守护者觉醒:
使用觉醒强化你的守护者。觉醒道具守护之心主要为招募重复守护者获得。
守护者回响:
使用回响强化你的守护者。共鸣强化道具可以再狩猎与宝箱中获得。"
+ "text": "这里可以查看你获得的所有守护者们,选择守护者点击右侧按钮可以查看详细界面并且强化他们。
在强化界面,可以有各种方式强化守护者。
守护者等级强化:
点击守护者经验条下方的加号按钮可以进入守护者升级界面,使用护身符可以快速提升守护者等级。
守护者升星:
当守护者等级达到当前星级最大值(三星最大等级为30级,四星为40级,5星为50级,6星60级),可以使用荣耀徽章提升守护者星级,并解锁最高等级上限。守护者最高为6星。荣耀徽章可以通过合成或分解操作,进行不同星级之间的转换。
守护者技能等级强化:
点击技能图标上方的按钮,可以进入守护者技能升级界面,使用不同等级的功夫卷轴可以强化不同稀有度的守护者的技能等级。技能等级提升为随机提升该守护者未满级的技能等级。
守护者觉醒:
可以在觉醒界面使用守护之心强化你的守护者。觉醒道具守护之心主要为招募重复守护者获得。
守护者回响:
可以在回响界面使用回响强化道具强化你的守护者。回响强化道具可以再狩猎与宝箱中获得。"
}
},
{
@@ -172,7 +172,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_16",
- "text": "这里可以查看你拥有的所有装备,并且可以给守护者们装备上,一件穿戴会默认选择你最好的装备穿戴给当前守护者(已穿戴装备除外)。"
+ "text": "这里可以查看你拥有的所有装备,并且可以给守护者们装备上,一件穿戴会默认选择你最好的装备穿戴给当前守护者(已穿戴装备除外)。
点击装备可以打开装备强化界面,"
}
},
{
@@ -205,7 +205,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_19",
- "text": "这里可以挑战泰坦们获得打造材料。"
+ "text": "这里可以挑战泰坦们获得打造材料。
泰坦共有三种,挑战不同的泰坦都会有不同类别的装备打造材料。
挑战高难度泰坦获得的材料奖励越多。"
}
},
{
@@ -216,7 +216,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_20",
- "text": "这里可以狩猎各种敌人获得珍惜材料。"
+ "text": "这里可以狩猎各种敌人获得回响材料。
狩猎挑战随时间开放不同的狩猎头目,掉落的回响材料可用于阵容也会有所不同。
挑战难度越高的狩猎头目,获得的材料数量与稀有度越高。"
}
},
{
@@ -260,7 +260,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_24",
- "text": "这里可以查看关卡星完成条件与获胜可获得奖励。"
+ "text": "这里可以查看关卡星完成条件,积累一定的关卡星可以获得格外的道具奖励。"
}
},
{
@@ -271,7 +271,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_25",
- "text": "这里可以使用回响强化你的守护者。
回响强化道具可在狩猎与宝箱中获得。"
+ "text": "这里可以使用回响强化道具强化你的守护者。
回响强化道具可在狩猎与宝箱中获得。"
}
},
{
@@ -293,7 +293,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_27",
- "text": "这里可以使用觉醒强化你的守护者。
觉醒道具守护之心主要为招募重复守护者获得。"
+ "text": "这里可以使用守护之心强化你的守护者。
觉醒道具守护之心主要为招募重复守护者获得。"
}
},
{
@@ -326,7 +326,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_30",
- "text": "这里可以使用装备手册的各个技能强化锻造炉。
技能包括:
销售精英:
可以提升装备的售价。
节能环保:
可以减少打造所消耗的炉温。
推广引流:
可以提升顾客数量。
倾销货物:
可以提升顾客购买装备数量的上限。
制作大师:
打造高品质装备时满星的概率提升1%。
每当前一个技能提升至5级时解锁下一个技能强化选项。"
+ "text": "这里可以使用装备手册的各个技能强化锻造炉。
技能包括:
销售精英:
可以提升装备的售价。
节能环保:
可以减少打造所消耗的炉温。
推广引流:
可以提升顾客数量。
倾销货物:
可以提升顾客购买装备数量的上限。
制作大师:
打造高品质装备时满星的概率提升1%。"
}
},
{
@@ -337,7 +337,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_31",
- "text": "这里可以挑战功夫塔,每次挑战胜利都可以获得奖励,每挑战胜利10层会有特殊奖励(功夫塔挑战不需要消耗物品)。"
+ "text": "这里可以挑战功夫塔,每次挑战胜利都可以获得奖励,每挑战胜利10层可以获得相应教习。(功夫塔挑战不需要消耗物品)。"
}
},
{
@@ -366,7 +366,7 @@
"id": 10034,
"title": {
"key": "ruledesc_ruledesc_title_34",
- "text": "每日一练动作说明"
+ "text": "每日一练说明"
},
"content": {
"key": "ruledesc_ruledesc_content_34",
@@ -399,7 +399,7 @@
"id": 10037,
"title": {
"key": "ruledesc_ruledesc_title_37",
- "text": "商队功能界面说明"
+ "text": "商队界面说明"
},
"content": {
"key": "ruledesc_ruledesc_content_37",
@@ -458,7 +458,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_42",
- "text": "这里可以可以使用星图币强化这个属性的全部守护者们。"
+ "text": "这里可以可以使用星图币强化某个属性的全部守护者们。
强化属性会在战斗中生效,不会在属性中显示。
星图币在玩家升级时获得。"
}
},
{
@@ -476,11 +476,11 @@
"id": 10044,
"title": {
"key": "ruledesc_ruledesc_title_44",
- "text": "主角个人信息界面说明"
+ "text": "主角界面说明"
},
"content": {
"key": "ruledesc_ruledesc_content_44",
- "text": "这里可以查看玩家游戏进度。
可以修改名称与个性签名(名称最多20字符,汉字算2字符)。
更改角色装扮,还能修改并查看自己的阵容展示。"
+ "text": "这里可以查看玩家游戏进度。
可以修改名称与个性签名(名称最多12字符,汉字算2字符)。
更改角色装扮,还能修改并查看自己的阵容展示。"
}
}
]
\ No newline at end of file
diff --git a/bin/json/game_shop.json b/bin/json/game_shop.json
index 1334e4f9c..c6525b5fb 100644
--- a/bin/json/game_shop.json
+++ b/bin/json/game_shop.json
@@ -218,43 +218,5 @@
15008,
15009
]
- },
- {
- "shopid": 7,
- "tab": 7,
- "shopname": {
- "key": "shop_shop_shopname_7",
- "text": "铁匠商店"
- },
- "upper_shop": {
- "key": "shop_shop_upper_shop_7",
- "text": "玩法商店"
- },
- "needshow": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 1
- }
- ],
- "rtype": 2,
- "rtime": 7,
- "rnum": -1,
- "rneed": [],
- "shopitem": [
- 16001,
- 16002,
- 16003,
- 16004,
- 16005,
- 16006,
- 16007,
- 16008,
- 16009,
- 16010,
- 16011,
- 16012,
- 16013
- ]
}
]
\ No newline at end of file
diff --git a/bin/json/game_shopitem.json b/bin/json/game_shopitem.json
index 6bdf7fc0f..4a34010b6 100644
--- a/bin/json/game_shopitem.json
+++ b/bin/json/game_shopitem.json
@@ -71,474 +71,6 @@
"mapidmin": 101,
"mapidmax": 9999
},
- {
- "key": 6,
- "id": 16001,
- "iteminfo": [
- {
- "a": "item",
- "t": "13001001",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 7,
- "id": 16002,
- "iteminfo": [
- {
- "a": "item",
- "t": "13001002",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 8,
- "id": 16003,
- "iteminfo": [
- {
- "a": "item",
- "t": "13001003",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 9,
- "id": 16004,
- "iteminfo": [
- {
- "a": "item",
- "t": "13002001",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 10,
- "id": 16005,
- "iteminfo": [
- {
- "a": "item",
- "t": "13002002",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 11,
- "id": 16006,
- "iteminfo": [
- {
- "a": "item",
- "t": "13002003",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 12,
- "id": 16007,
- "iteminfo": [
- {
- "a": "item",
- "t": "13003001",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 13,
- "id": 16008,
- "iteminfo": [
- {
- "a": "item",
- "t": "13003002",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 14,
- "id": 16009,
- "iteminfo": [
- {
- "a": "item",
- "t": "13003003",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 15,
- "id": 16010,
- "iteminfo": [
- {
- "a": "item",
- "t": "13000001",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 16,
- "id": 16011,
- "iteminfo": [
- {
- "a": "item",
- "t": "13000002",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 17,
- "id": 16012,
- "iteminfo": [
- {
- "a": "item",
- "t": "13000003",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
- {
- "key": 18,
- "id": 16013,
- "iteminfo": [
- {
- "a": "item",
- "t": "13000004",
- "n": 100
- }
- ],
- "preview": false,
- "probability": 1000,
- "need": [
- {
- "a": "attr",
- "t": "diamond",
- "n": 20
- }
- ],
- "sale": 1000,
- "salelist": [
- 1000,
- 1000,
- 1000,
- 1000,
- 1000,
- 1000
- ],
- "buyminnum": 999,
- "buymaxnum": 999,
- "vip": 0,
- "lvmin": 1,
- "lvmax": 60,
- "mapidmin": 101,
- "mapidmax": 9999
- },
{
"key": 19,
"id": 10001,
diff --git a/lego/sys/timewheel/timewheel.go b/lego/sys/timewheel/timewheel.go
index 2e0f2acbd..2dae4f6bc 100644
--- a/lego/sys/timewheel/timewheel.go
+++ b/lego/sys/timewheel/timewheel.go
@@ -88,7 +88,7 @@ func (t *Task) Reset() {
t.circle = false
}
-//启动时间轮
+// 启动时间轮
func (this *TimeWheel) Start() {
// onlye once start
this.onceStart.Do(
@@ -114,12 +114,12 @@ func (this *TimeWheel) Remove(task *Task) error {
return nil
}
-//停止时间轮
+// 停止时间轮
func (this *TimeWheel) Stop() {
this.stopC <- struct{}{}
}
-//此处写法 为监控时间轮是否正常执行
+// 此处写法 为监控时间轮是否正常执行
func (this *TimeWheel) tickGenerator() {
if this.tickQueue == nil {
return
@@ -137,7 +137,7 @@ func (this *TimeWheel) tickGenerator() {
}
}
-//调度器
+// 调度器
func (this *TimeWheel) schduler() {
queue := this.ticker.C
if this.tickQueue != nil {
@@ -160,7 +160,7 @@ func (this *TimeWheel) schduler() {
}
}
-//清理
+// 清理
func (this *TimeWheel) collectTask(task *Task) {
index := this.bucketIndexes[task.id]
delete(this.bucketIndexes, task.id)
@@ -185,8 +185,9 @@ func (this *TimeWheel) handleTick() {
}
if task.async {
- go func(task *Task) {
- go this.calltask(task, task.args...)
+ go func(_task *Task) {
+ this.calltask(_task, _task.args...)
+ this.collectTask(task)
}(task)
} else {
@@ -202,7 +203,9 @@ func (this *TimeWheel) handleTick() {
}
// gc
- this.collectTask(task)
+ if !task.async {
+ this.collectTask(task)
+ }
}
if this.currentIndex == this.bucketsNum-1 {
@@ -213,7 +216,7 @@ func (this *TimeWheel) handleTick() {
this.currentIndex++
}
-//执行时间轮事件 捕捉异常错误 防止程序崩溃
+// 执行时间轮事件 捕捉异常错误 防止程序崩溃
func (this *TimeWheel) calltask(task *Task, args ...interface{}) {
defer func() { //程序异常 收集异常信息传递给前端显示
if r := recover(); r != nil {
diff --git a/modules/arena/api_buy.go b/modules/arena/api_buy.go
index 231bf99ca..de0add1d6 100644
--- a/modules/arena/api_buy.go
+++ b/modules/arena/api_buy.go
@@ -7,7 +7,7 @@ import (
cfg "go_dreamfactory/sys/configure/structs"
)
-//参数校验
+// 参数校验
func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ArenaBuyReq) (errdata *pb.ErrorData) {
if req.BuyNum == 0 {
errdata = &pb.ErrorData{
@@ -18,7 +18,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ArenaBuyReq) (e
return
}
-///获取自己的排行榜信息
+// /获取自己的排行榜信息
func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (errdata *pb.ErrorData) {
var (
// global *cfg.GameGlobalData
@@ -49,8 +49,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (errdat
return
}
this.module.modelArena.recoverTicket(session, info)
-
- if maxbuy, err = this.module.ModuleTools.GetPriceGroupLen(comm.ArenaBuyType); err != nil {
+ pricekey := this.module.ModuleTools.GetGlobalConf().ArenaBuy
+ if maxbuy, err = this.module.ModuleTools.GetPriceGroupLen(pricekey); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_CacheReadError.ToString(),
diff --git a/modules/arena/api_challengereward.go b/modules/arena/api_challengereward.go
index cf266b34f..e1cb8e77c 100644
--- a/modules/arena/api_challengereward.go
+++ b/modules/arena/api_challengereward.go
@@ -8,13 +8,13 @@ import (
cfg "go_dreamfactory/sys/configure/structs"
)
-//参数校验
+// 参数校验
func (this *apiComp) ChallengeRewardCheck(session comm.IUserSession, req *pb.ArenaChallengeRewardReq) (errdata *pb.ErrorData) {
return
}
-///挑战奖励领取
+// /挑战奖励领取
func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaChallengeRewardReq) (errdata *pb.ErrorData) {
var (
reward *cfg.GameArenaActiveRewardData
@@ -46,7 +46,7 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha
errdata = &pb.ErrorData{
Code: pb.ErrorCode_BattleValidationFailed,
Title: pb.ErrorCode_BattleValidationFailed.ToString(),
- Message: err.Error(),
+ Message: "CheckBattleReport check fail",
}
return
}
diff --git a/modules/chat/module.go b/modules/chat/module.go
index b5bdcfd53..43a32fa28 100644
--- a/modules/chat/module.go
+++ b/modules/chat/module.go
@@ -39,17 +39,17 @@ type Chat struct {
modelChat *modelChatComp
}
-//重构模块配置对象
+// 重构模块配置对象
func (this *Chat) NewOptions() (options core.IModuleOptions) {
return new(Options)
}
-//模块名
+// 模块名
func (this *Chat) GetType() core.M_Modules {
return comm.ModuleChat
}
-//模块初始化接口 注册用户创建角色事件
+// 模块初始化接口 注册用户创建角色事件
func (this *Chat) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
@@ -73,7 +73,7 @@ func (this *Chat) Start() (err error) {
return
}
-//装备组件
+// 装备组件
func (this *Chat) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
@@ -81,15 +81,15 @@ func (this *Chat) OnInstallComp() {
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
-//Event------------------------------------------------------------------------------------------------------------
+// Event------------------------------------------------------------------------------------------------------------
func (this *Chat) EventUserOffline(uid, sessionid string) {
if err := this.modelChat.removeCrossChannelMember(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}
-//RPC--------------------------------------------------------------------------------------------------------------
-//推送聊天消息
+// RPC--------------------------------------------------------------------------------------------------------------
+// 推送聊天消息
func (this *Chat) Rpc_ModuleChatPushChat(ctx context.Context, args *pb.DBChat, reply *pb.EmptyResp) (err error) {
var (
max_chat int32
@@ -133,8 +133,8 @@ func (this *Chat) Rpc_ModuleChatPushChat(ctx context.Context, args *pb.DBChat, r
return
}
-//对外接口----------------------------------------------------------------------------------------------------------
-//向世界频道发送聊天消息
+// 对外接口----------------------------------------------------------------------------------------------------------
+// 向世界频道发送聊天消息
func (this *Chat) SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
var (
max_chat int32
@@ -173,7 +173,7 @@ func (this *Chat) SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
return
}
-//向工会发送聊天消息
+// 向工会发送聊天消息
func (this *Chat) SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
var (
max_chat int32
@@ -212,7 +212,7 @@ func (this *Chat) SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
return
}
-//向个人发送聊天消息
+// 向个人发送聊天消息
func (this *Chat) SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
var (
err error
@@ -246,7 +246,7 @@ func (this *Chat) SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) {
return
}
-//广播系统消息
+// 广播系统消息
func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata interface{}, value0 int32, value1 int32, agrs ...string) (errdata *pb.ErrorData) {
var (
jsonStr []byte
@@ -263,7 +263,9 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter
AppendInt: int64(st.Key),
AppendStrs: agrs,
}
- if ctype == comm.ChatSystem3 { //装备分享
+
+ switch ctype {
+ case comm.ChatSystem3:
msg.Ctype = pb.ChatType_Share
if appenddata != nil {
if jsonStr, err = json.Marshal(appenddata); err != nil {
@@ -280,6 +282,23 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter
msg.AppendStr = string(jsonStr)
}
}
+ case comm.ChatSystem7, comm.ChatSystem8, comm.ChatSystem9, comm.ChatSystem10, comm.ChatSystem11:
+ msg.Ctype = pb.ChatType_Share
+ if appenddata != nil {
+ if jsonStr, err = json.Marshal(appenddata); err != nil {
+ this.Errorf("err:%v", err)
+ } else {
+ data := map[string]interface{}{
+ agrs[1]: map[string]interface{}{
+ "key": agrs[1],
+ "appendStr": string(jsonStr),
+ "itemType": pb.ChatType_HeroShare,
+ },
+ }
+ jsonStr, _ = json.Marshal(data)
+ msg.AppendStr = string(jsonStr)
+ }
+ }
}
if this.IsCross() {
@@ -307,7 +326,7 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter
return
}
-//广播系统消息
+// 广播系统消息
func (this *Chat) SendSysChatToUser(session comm.IUserSession, ctype comm.ChatSystemType, value0, value1 int32, agrs ...string) (errdata *pb.ErrorData) {
if st, ok := this.configure.GetCheckChatSystem(int32(ctype), value0, value1); ok {
msg := &pb.DBChat{
@@ -320,8 +339,8 @@ func (this *Chat) SendSysChatToUser(session comm.IUserSession, ctype comm.ChatSy
return
}
-//Push--------------------------------------------------------------------------------------------------------------
-//推送消息到世界
+// Push--------------------------------------------------------------------------------------------------------------
+// 推送消息到世界
func (this *Chat) pushChatToWorld(msg *pb.DBChat) (err error) {
data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg})
if err = this.service.AcrossClusterBroadcast(context.Background(), msg.Stag, comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{
@@ -334,7 +353,7 @@ func (this *Chat) pushChatToWorld(msg *pb.DBChat) (err error) {
return
}
-//推送消息到工会
+// 推送消息到工会
func (this *Chat) pushChatToUnion(msg *pb.DBChat) (err error) {
if members := this.sociaty.MembersBySociatyId(msg.UnionId); members != nil {
users := make([]string, 0, len(members))
@@ -348,7 +367,7 @@ func (this *Chat) pushChatToUnion(msg *pb.DBChat) (err error) {
return
}
-//推送私聊消息
+// 推送私聊消息
func (this *Chat) pushChatToPrivate(msg *pb.DBChat) (err error) {
var (
session comm.IUserSession
@@ -369,7 +388,7 @@ func (this *Chat) pushChatToPrivate(msg *pb.DBChat) (err error) {
return
}
-//推送跨服频道消息
+// 推送跨服频道消息
func (this *Chat) pushChatToCross(msg *pb.DBChat) (err error) {
var (
users []*pb.CacheUser
@@ -383,7 +402,7 @@ func (this *Chat) pushChatToCross(msg *pb.DBChat) (err error) {
return
}
-//推送系统消息
+// 推送系统消息
func (this *Chat) pushChatToSystem(msg *pb.DBChat) (err error) {
data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg})
if err = this.service.ClusterBroadcast(context.Background(), comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{
diff --git a/modules/equipment/api_washconfirm.go b/modules/equipment/api_washconfirm.go
index a4e010666..9d49b5ebc 100644
--- a/modules/equipment/api_washconfirm.go
+++ b/modules/equipment/api_washconfirm.go
@@ -1,13 +1,14 @@
package equipment
import (
+ "fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
-//参数校验
+// 参数校验
func (this *apiComp) WashConfirmCheck(session comm.IUserSession, req *pb.EquipmentWashConfirmReq) (errdata *pb.ErrorData) {
if req.Eid == "" || req.Pids == nil || len(req.Pids) == 0 {
errdata = &pb.ErrorData{
@@ -18,11 +19,13 @@ func (this *apiComp) WashConfirmCheck(session comm.IUserSession, req *pb.Equipme
return
}
-//锻造
+// 锻造
func (this *apiComp) WashConfirm(session comm.IUserSession, req *pb.EquipmentWashConfirmReq) (errdata *pb.ErrorData) {
var (
equip *pb.DB_Equipment
attrlibrary *cfg.GameEquipAttrlibrarySData
+ hero *pb.DBHero
+ equipments []*pb.DB_Equipment
err error
)
if errdata = this.WashConfirmCheck(session, req); errdata != nil {
@@ -74,6 +77,32 @@ func (this *apiComp) WashConfirm(session comm.IUserSession, req *pb.EquipmentWas
}
return
}
+ if equip.HeroId != "" {
+ equipments = make([]*pb.DB_Equipment, 8)
+ if hero, errdata = this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), equip.HeroId); errdata != nil {
+ return
+ }
+ for i, v := range hero.EquipID {
+ if v != "" {
+ if v != equip.Id {
+ if equipments[i], err = this.module.modelEquipment.QueryUserEquipmentsById(session.GetUserId(), v); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_EquipmentOnFoundEquipment,
+ Title: pb.ErrorCode_EquipmentOnFoundEquipment.ToString(),
+ Message: fmt.Sprintf("装备唯一 id:%s", v),
+ }
+ return
+ }
+ } else {
+ equipments[i] = equip
+ }
+ }
+ }
+ if errdata = this.module.ModuleHero.UpdateEquipment(session, hero, equipments); errdata != nil {
+ return
+ }
+ }
+
session.SendMsg(string(this.module.GetType()), "washconfirm", &pb.EquipmentWashConfirmResp{Issucc: true})
return
}
diff --git a/modules/friend/api_cross_addblack.go b/modules/friend/api_cross_addblack.go
index 2f9e1f35d..6d463bab7 100644
--- a/modules/friend/api_cross_addblack.go
+++ b/modules/friend/api_cross_addblack.go
@@ -89,11 +89,13 @@ func (this *apiComp) Addblack(session comm.IUserSession, req *pb.FriendAddBlackR
// 将目标从好友列表中移除
friendIds := utils.Deletex(self.FriendIds, req.FriendId)
-
+ // 将好友从申请列表移除
+ applyIds := utils.Deletex(self.ApplyIds, req.FriendId)
//更新
err = this.module.modelFriend.Change(self.Uid, map[string]interface{}{
"blackIds": self.BlackIds,
"friendIds": friendIds,
+ "applyIds": applyIds,
})
if err != nil {
errdata = &pb.ErrorData{
diff --git a/modules/friend/api_cross_agree.go b/modules/friend/api_cross_agree.go
index a8c99520a..0a75ecca3 100644
--- a/modules/friend/api_cross_agree.go
+++ b/modules/friend/api_cross_agree.go
@@ -109,6 +109,7 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.FriendAgreeReq) (e
}
if err = this.module.modelFriend.Change(target.Uid, map[string]interface{}{
"friendIds": target.FriendIds,
+ "applyIds": target.ApplyIds,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go
index ef0f6762c..f9721c2e5 100644
--- a/modules/hero/api_strengthenUplv.go
+++ b/modules/hero/api_strengthenUplv.go
@@ -7,7 +7,7 @@ import (
cfg "go_dreamfactory/sys/configure/structs"
)
-//参数校验
+// 参数校验
func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (errdata *pb.ErrorData) {
if req.HeroObjID == "" || len(req.Item) == 0 {
errdata = &pb.ErrorData{
@@ -20,7 +20,7 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
return
}
-/// 英雄升级
+// / 英雄升级
func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (errdata *pb.ErrorData) {
var (
@@ -96,7 +96,7 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren
//英雄升级 【玩家名称】已将【英雄名称】培养至60级!
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil {
- this.chat.SendSysChatToWorld(comm.ChatSystem7, nil, _hero.Lv, 0, user.Name, _hero.HeroID)
+ this.chat.SendSysChatToWorld(comm.ChatSystem7, _hero, _hero.Lv, 0, user.Name, _hero.HeroID)
} else {
this.module.Errorf("no found userdata uid:%s", session.GetUserId())
}
diff --git a/modules/shop/api_buy.go b/modules/shop/api_buy.go
index 83c335577..bbe6b0a86 100644
--- a/modules/shop/api_buy.go
+++ b/modules/shop/api_buy.go
@@ -1,6 +1,7 @@
package shop
import (
+ "fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
@@ -8,9 +9,9 @@ import (
"math"
)
-//参数校验
+// 参数校验
func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ShopBuyReq) (errdata *pb.ErrorData) {
- if req.ShopType == 0 || req.GoodsId == 0 || req.BuyNum <= 0 {
+ if req.ShopType == 0 || req.Gid == 0 || req.BuyNum <= 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
@@ -19,12 +20,13 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ShopBuyReq) (er
return
}
-///获取用户商品列表
+// /获取用户商品列表
func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata *pb.ErrorData) {
var (
err error
conf *cfg.GameShopitemData
shopData *pb.DBShop
+ good *pb.UserShopGood
filed string
record *pb.UserShopData
need []*cfg.Gameatn
@@ -35,14 +37,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata
return
}
- if conf, err = this.module.configure.GetShopItemsConfigure(req.GoodsId); err != nil {
- errdata = &pb.ErrorData{
- Code: pb.ErrorCode_SystemError,
- Title: pb.ErrorCode_SystemError.ToString(),
- Message: err.Error(),
- }
- return
- }
if shopData, err = this.module.modelShop.QueryUserShopData(session.GetUserId()); err != nil { //没有购买记录
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
@@ -51,23 +45,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata
}
return
}
- need = make([]*cfg.Gameatn, len(conf.Need))
- for i, v := range conf.Need {
- need[i] = &cfg.Gameatn{
- A: v.A,
- T: v.T,
- N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum,
- }
- }
-
- give = make([]*cfg.Gameatn, len(conf.Iteminfo))
- for i, v := range conf.Iteminfo {
- give[i] = &cfg.Gameatn{
- A: v.A,
- T: v.T,
- N: v.N * req.BuyNum,
- }
- }
switch req.ShopType {
case pb.ShopType_GoldShop:
@@ -106,18 +83,64 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata
return
}
if record == nil {
- record = &pb.UserShopData{
- Buy: map[int32]int32{},
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Title: pb.ErrorCode_DBError.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+
+ for _, v := range record.Items {
+ if v.Id == req.Gid {
+ good = v
}
}
- if conf.Buyminnum-record.Buy[req.GoodsId] < req.BuyNum {
+
+ if good == nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_ReqParameterError,
+ Title: pb.ErrorCode_ReqParameterError.ToString(),
+ Message: fmt.Sprintf("no found good:%d", req.Gid),
+ }
+ return
+ }
+
+ if conf, err = this.module.configure.GetShopItemsConfigure(good.Gid); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_SystemError,
+ Title: pb.ErrorCode_SystemError.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+
+ need = make([]*cfg.Gameatn, len(conf.Need))
+ for i, v := range conf.Need {
+ need[i] = &cfg.Gameatn{
+ A: v.A,
+ T: v.T,
+ N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum,
+ }
+ }
+
+ give = make([]*cfg.Gameatn, len(conf.Iteminfo))
+ for i, v := range conf.Iteminfo {
+ give[i] = &cfg.Gameatn{
+ A: v.A,
+ T: v.T,
+ N: v.N * req.BuyNum,
+ }
+ }
+
+ if conf.Buyminnum-good.Buy < req.BuyNum {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ShopGoodsIsSoldOut,
Title: pb.ErrorCode_ShopGoodsIsSoldOut.ToString(),
}
return
}
- record.Buy[req.GoodsId] += req.BuyNum
+ good.Buy += req.BuyNum
if errdata = this.module.ConsumeRes(session, need, true); errdata != nil {
return
}
@@ -127,25 +150,21 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata
return
}
} else {
- if errdata = this.module.equip.AddEquipment(session, record.Preview[req.GoodsId]); errdata != nil {
+ if errdata = this.module.equip.AddEquipment(session, record.Preview[req.Gid]); errdata != nil {
return
}
}
//随机任务
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype64, 1))
- // this.module.ModuleRtask.SendToRtask(session, comm.Rtype64, 1)
for _, v := range give {
if v.A == comm.ItemType {
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype65, v.N, utils.ToInt32(v.T)))
- // this.module.ModuleRtask.SendToRtask(session, comm.Rtype65, v.N, utils.ToInt32(v.T))
}
}
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype66, 1, int32(req.ShopType)))
- // this.module.ModuleRtask.SendToRtask(session, comm.Rtype66, 1, int32(req.ShopType))
for _, v := range need {
if v.A == comm.AttrType {
- // tasks = append(tasks, comm.GetBuriedParam(comm.Rtype67, v.N, utils.ToInt32(v.T)))
switch v.T {
case comm.ResGold:
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype67, v.N, 1))
diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go
index 1f29807d0..a78747545 100644
--- a/modules/shop/api_getlist.go
+++ b/modules/shop/api_getlist.go
@@ -25,6 +25,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
var (
err error
filed string
+ refresh int32
shopconf *cfg.GameShopData
shopData *pb.DBShop
udata *pb.DBUser
@@ -66,6 +67,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
case pb.ShopType_GoldShop:
sdata = shopData.GoldShop
filed = "goldShop"
+ refresh = this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2)
break
case pb.ShopType_DiamondShop:
sdata = shopData.DiamondShop
@@ -100,7 +102,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
}
if sdata == nil {
sdata = &pb.UserShopData{
- Buy: map[int32]int32{},
+ Items: make([]*pb.UserShopGood, 0),
}
}
if shopconf.Rnum > 0 {
@@ -127,14 +129,15 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
if req.IsManualRefresh && shopconf.Rnum > 0 { //可以手动刷新
isrefresh := false
- refresh := int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2))
if refresh > 0 { //
if time.Unix(shopData.RefreshtimegoldShop, 0).Day() < configure.Now().Day() {
shopData.RefreshtimegoldShop = configure.Now().Unix()
shopData.RefreshnumgoldShop = 0
}
- if int(shopData.RefreshnumgoldShop) < refresh {
+ if shopData.RefreshnumgoldShop < refresh {
isrefresh = true
+ shopData.RefreshnumgoldShop++
+
}
}
if !isrefresh {
@@ -166,15 +169,20 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
}
items = append(items, randomGoods(_items))
}
- sdata.Buy = make(map[int32]int32)
sdata.LastRefreshTime = configure.Now().Unix()
sdata.ManualRefreshNum++
- sdata.Items = make([]int32, len(items))
+ sdata.Leftfreerefreshnum = refresh - shopData.RefreshnumgoldShop
+ sdata.Items = make([]*pb.UserShopGood, len(items))
sdata.Preview = make(map[int32]*pb.DB_Equipment)
for i, v := range items {
- sdata.Items[i] = v.Key
+ id := v.Key*100 + int32(i)
+ sdata.Items[i] = &pb.UserShopGood{
+ Id: id,
+ Gid: v.Key,
+ Buy: 0,
+ }
if v.Preview { //是否预览
- if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil {
+ if errdata, sdata.Preview[id] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil {
return
}
}
@@ -213,14 +221,18 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
}
items = append(items, randomGoods(_items))
}
- sdata.Buy = make(map[int32]int32)
sdata.LastRefreshTime = configure.Now().Unix()
- sdata.Items = make([]int32, len(items))
+ sdata.Items = make([]*pb.UserShopGood, len(items))
sdata.Preview = make(map[int32]*pb.DB_Equipment)
for i, v := range items {
- sdata.Items[i] = v.Key
+ id := v.Key*100 + int32(i)
+ sdata.Items[i] = &pb.UserShopGood{
+ Id: id,
+ Gid: v.Key,
+ Buy: 0,
+ }
if v.Preview { //是否预览
- if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil {
+ if errdata, sdata.Preview[id] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil {
return
}
}
@@ -230,7 +242,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1)
go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype105, 1))
} else { //返回以前的商品列表
- if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil {
+ keys := make([]int32, len(sdata.Items))
+ for i, v := range sdata.Items {
+ keys[i] = v.Gid
+ }
+ if items, err = this.module.configure.GetShopItemsConfigureByIds(keys...); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_SystemError,
Title: pb.ErrorCode_SystemError.ToString(),
@@ -247,6 +263,6 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
}
return
}
- session.SendMsg(string(this.module.GetType()), "getlist", &pb.ShopGetListResp{SType: req.SType, IsManualRefresh: req.IsManualRefresh, Goods: goods, SurplusRefreshNum: leftrefnum, Lastrefreshtime: sdata.LastRefreshTime})
+ session.SendMsg(string(this.module.GetType()), "getlist", &pb.ShopGetListResp{SType: req.SType, IsManualRefresh: req.IsManualRefresh, Goods: goods, SurplusRefreshNum: leftrefnum, Lastrefreshtime: sdata.LastRefreshTime, Leftfreerefreshnum: sdata.Leftfreerefreshnum})
return
}
diff --git a/modules/shop/configure.go b/modules/shop/configure.go
index 7df5cf1ab..ebd8e785f 100644
--- a/modules/shop/configure.go
+++ b/modules/shop/configure.go
@@ -14,13 +14,13 @@ const (
game_shopitem = "game_shopitem.json"
)
-///背包配置管理组件
+// /背包配置管理组件
type configureComp struct {
modules.MCompConfigure
module *Shop
}
-//组件初始化接口
+// 组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Shop)
@@ -29,7 +29,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
return
}
-//获取装备配置数据
+// 获取装备配置数据
func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.GameShopData, err error) {
var (
v interface{}
@@ -48,7 +48,7 @@ func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.GameShopDa
return
}
-//读取商品
+// 读取商品
func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameShopitemData, err error) {
var (
v interface{}
@@ -67,7 +67,7 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameSho
return
}
-//读取商品组
+// 读取商品组
func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result []*cfg.GameShopitemData, err error) {
result = make([]*cfg.GameShopitemData, 0, 10)
var (
@@ -92,7 +92,7 @@ func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb
return
}
-//读取商品
+// 读取商品
func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*cfg.GameShopitemData, err error) {
result = make([]*cfg.GameShopitemData, 0, len(keys))
var (
@@ -111,6 +111,8 @@ func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*
result = append(result, item)
} else {
this.module.Errorf("no found GetShopItemsConfigureByIds:%d", v)
+ err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_shopitem, v)
+ return
}
}
}
diff --git a/modules/shop/core.go b/modules/shop/core.go
index 1481ba439..a0a38818a 100644
--- a/modules/shop/core.go
+++ b/modules/shop/core.go
@@ -8,7 +8,7 @@ import (
"math/big"
)
-//随机商品列表
+// 随机商品列表
func randomGoods(goods []*cfg.GameShopitemData) (result *cfg.GameShopitemData) {
var (
totle int64
@@ -30,20 +30,16 @@ func randomGoods(goods []*cfg.GameShopitemData) (result *cfg.GameShopitemData) {
return
}
-//转换商品对象
+// 转换商品对象
func transGoods(goods []*cfg.GameShopitemData, sdata *pb.UserShopData) (result []*pb.ShopItem) {
result = make([]*pb.ShopItem, len(goods))
- // ok := false
- // uitem := &pb.DBShopItem{}
for i, v := range goods {
- // if uitem, ok = ushoputem[v.Key]; !ok {
- // uitem = &pb.DBShopItem{}
- // }
result[i] = &pb.ShopItem{
+ Gid: sdata.Items[i].Id,
GoodsId: v.Key,
Sale: int32(v.Sale),
}
- result[i].LeftBuyNum = v.Buyminnum - sdata.Buy[v.Key]
+ result[i].LeftBuyNum = v.Buyminnum - sdata.Items[i].Buy
result[i].Items = make([]*pb.UserAssets, len(v.Iteminfo))
for i1, v1 := range v.Iteminfo {
result[i].Items[i1] = &pb.UserAssets{
diff --git a/modules/shop/module.go b/modules/shop/module.go
index 6395c3ebd..3e7e75dac 100644
--- a/modules/shop/module.go
+++ b/modules/shop/module.go
@@ -28,12 +28,12 @@ type Shop struct {
modelShop *modelShopComp
}
-//模块名
+// 模块名
func (this *Shop) GetType() core.M_Modules {
return comm.ModuleShop
}
-//模块初始化接口 注册用户创建角色事件
+// 模块初始化接口 注册用户创建角色事件
func (this *Shop) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
@@ -53,7 +53,7 @@ func (this *Shop) Start() (err error) {
return
}
-//装备组件
+// 装备组件
func (this *Shop) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
@@ -61,7 +61,7 @@ func (this *Shop) OnInstallComp() {
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
-//Event------------------------------------------------------------------------------------------------------------
+// Event------------------------------------------------------------------------------------------------------------
func (this *Shop) EventUserOffline(session comm.IUserSession) {
this.modelShop.DelByUId(session.GetUserId(), db.SetDBMgoLog(false))
}
diff --git a/modules/shop/module_test.go b/modules/shop/module_test.go
index c92fe70d8..edc3b037b 100644
--- a/modules/shop/module_test.go
+++ b/modules/shop/module_test.go
@@ -30,12 +30,12 @@ func newService(ops ...rpcx.Option) core.IService {
return s
}
-//梦工厂基础服务对象
+// 梦工厂基础服务对象
type TestService struct {
rpcx.RPCXService
}
-//初始化相关系统
+// 初始化相关系统
func (this *TestService) InitSys() {
this.RPCXService.InitSys()
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
@@ -54,7 +54,7 @@ var service core.IService
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
var module = new(shop.Shop)
-//测试环境下初始化db和cache 系统
+// 测试环境下初始化db和cache 系统
func TestMain(m *testing.M) {
service = newService(
rpcx.SetConfPath("../../bin/conf/worker_1.yaml"),
@@ -76,18 +76,10 @@ func TestMain(m *testing.M) {
defer os.Exit(m.Run())
}
-//测试api_getlist
+// 测试api_getlist
func Test_Module_APIGetList(t *testing.T) {
data, _ := ptypes.MarshalAny(&pb.ShopGetListReq{SType: pb.ShopType_GoldShop, IsManualRefresh: false})
reply := &pb.RPCMessageReply{}
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "shop", SubType: "getlist", Message: data}, reply)
log.Debugf("reply:%v", reply)
}
-
-//测试api_buy
-func Test_Module_APIBuy(t *testing.T) {
- data, _ := ptypes.MarshalAny(&pb.ShopBuyReq{GoodsId: 7})
- reply := &pb.RPCMessageReply{}
- s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "shop", SubType: "buy", Message: data}, reply)
- log.Debugf("reply:%v", reply)
-}
diff --git a/modules/tools/comp_configure.go b/modules/tools/comp_configure.go
index 2a85caf59..758f948c5 100644
--- a/modules/tools/comp_configure.go
+++ b/modules/tools/comp_configure.go
@@ -33,7 +33,7 @@ const (
game_food = "game_breakingbad.json"
)
-///配置管理基础组件
+// /配置管理基础组件
type MCompConfigure struct {
cbase.ModuleCompBase
hlock sync.RWMutex
@@ -56,7 +56,7 @@ type MCompConfigure struct {
_price map[int32][]*cfg.GamePricegroupData
}
-//组件初始化接口
+// 组件初始化接口
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)
err = this.LoadConfigure(game_global, cfg.NewGameGlobal)
@@ -293,7 +293,7 @@ func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err erro
return configure.RegisterConfigure(name, fn, nil)
}
-//加载一个配置文件
+// 加载一个配置文件
func (this *MCompConfigure) LoadDropData() {
if v, err := this.GetConfigure(game_drop); err == nil {
if configure, ok := v.(*cfg.GameDrop); ok {
@@ -320,7 +320,7 @@ func (this *MCompConfigure) LoadDropData() {
return
}
-//加载多个配置文件
+// 加载多个配置文件
func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs {
err = configure.RegisterConfigure(k, v, nil)
@@ -332,12 +332,12 @@ func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (er
return
}
-//读取配置数据
+// 读取配置数据
func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error) {
return configure.GetConfigure(name)
}
-//全局配置
+// 全局配置
func (this *MCompConfigure) GetGlobalConf() *cfg.GameGlobalData {
var (
configure *cfg.GameGlobal
@@ -492,7 +492,7 @@ func (this *MCompConfigure) GetHeroConfigData() (data []*cfg.GameHeroData) {
return nil
}
-//读取物品配置
+// 读取物品配置
func (this *MCompConfigure) GetItemConfigureData(id string) (item *cfg.GameItemData, err error) {
var (
v interface{}
@@ -597,7 +597,7 @@ func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32
return
}
for _, v := range this._price[pricegroupId] {
- if v.Purchasemin <= purchase && purchase <= v.Purchasemax {
+ if v.Purchasemin <= purchase && (purchase <= v.Purchasemax || v.Purchasemax == -1) {
res = v.Cost
return
}
@@ -609,8 +609,12 @@ func (this *MCompConfigure) GetPriceGroupLen(pricegroupId int32) (count int32, e
if _, ok := this._price[pricegroupId]; !ok {
err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId)
}
- count = int32(len(this._price[pricegroupId]))
-
+ count = 0
+ for _, v := range this._price[pricegroupId] {
+ if count < v.Purchasemax {
+ count = v.Purchasemax
+ }
+ }
return
}
diff --git a/pb/shop_db.pb.go b/pb/shop_db.pb.go
index 65c5963f5..8d694d6c0 100644
--- a/pb/shop_db.pb.go
+++ b/pb/shop_db.pb.go
@@ -84,22 +84,85 @@ func (ShopType) EnumDescriptor() ([]byte, []int) {
return file_shop_shop_db_proto_rawDescGZIP(), []int{0}
}
+type UserShopGood struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //实例id
+ Gid int32 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid"` //商品Id
+ Buy int32 `protobuf:"varint,3,opt,name=buy,proto3" json:"buy"` //购买实例
+}
+
+func (x *UserShopGood) Reset() {
+ *x = UserShopGood{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_shop_shop_db_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserShopGood) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserShopGood) ProtoMessage() {}
+
+func (x *UserShopGood) ProtoReflect() protoreflect.Message {
+ mi := &file_shop_shop_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 UserShopGood.ProtoReflect.Descriptor instead.
+func (*UserShopGood) Descriptor() ([]byte, []int) {
+ return file_shop_shop_db_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UserShopGood) GetId() int32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *UserShopGood) GetGid() int32 {
+ if x != nil {
+ return x.Gid
+ }
+ return 0
+}
+
+func (x *UserShopGood) GetBuy() int32 {
+ if x != nil {
+ return x.Buy
+ }
+ return 0
+}
+
type UserShopData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- LastRefreshTime int64 `protobuf:"varint,1,opt,name=LastRefreshTime,proto3" json:"LastRefreshTime"` //最后一次刷新时间
- ManualRefreshNum int32 `protobuf:"varint,2,opt,name=ManualRefreshNum,proto3" json:"ManualRefreshNum"` //手动刷新次数
- Items []int32 `protobuf:"varint,3,rep,packed,name=Items,proto3" json:"Items"` //商品列表
- Buy map[int32]int32 `protobuf:"bytes,4,rep,name=buy,proto3" json:"buy" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //购买记录
- Preview map[int32]*DB_Equipment `protobuf:"bytes,5,rep,name=preview,proto3" json:"preview" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //预览数据
+ LastRefreshTime int64 `protobuf:"varint,1,opt,name=LastRefreshTime,proto3" json:"LastRefreshTime"` //最后一次刷新时间
+ ManualRefreshNum int32 `protobuf:"varint,2,opt,name=ManualRefreshNum,proto3" json:"ManualRefreshNum"` //手动刷新次数
+ Items []*UserShopGood `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items"` //商品列表
+ Preview map[int32]*DB_Equipment `protobuf:"bytes,5,rep,name=preview,proto3" json:"preview" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //预览数据
+ Leftfreerefreshnum int32 `protobuf:"varint,6,opt,name=leftfreerefreshnum,proto3" json:"leftfreerefreshnum"` //剩余免费刷新次数
}
func (x *UserShopData) Reset() {
*x = UserShopData{}
if protoimpl.UnsafeEnabled {
- mi := &file_shop_shop_db_proto_msgTypes[0]
+ mi := &file_shop_shop_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -112,7 +175,7 @@ func (x *UserShopData) String() string {
func (*UserShopData) ProtoMessage() {}
func (x *UserShopData) ProtoReflect() protoreflect.Message {
- mi := &file_shop_shop_db_proto_msgTypes[0]
+ mi := &file_shop_shop_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -125,7 +188,7 @@ func (x *UserShopData) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserShopData.ProtoReflect.Descriptor instead.
func (*UserShopData) Descriptor() ([]byte, []int) {
- return file_shop_shop_db_proto_rawDescGZIP(), []int{0}
+ return file_shop_shop_db_proto_rawDescGZIP(), []int{1}
}
func (x *UserShopData) GetLastRefreshTime() int64 {
@@ -142,20 +205,13 @@ func (x *UserShopData) GetManualRefreshNum() int32 {
return 0
}
-func (x *UserShopData) GetItems() []int32 {
+func (x *UserShopData) GetItems() []*UserShopGood {
if x != nil {
return x.Items
}
return nil
}
-func (x *UserShopData) GetBuy() map[int32]int32 {
- if x != nil {
- return x.Buy
- }
- return nil
-}
-
func (x *UserShopData) GetPreview() map[int32]*DB_Equipment {
if x != nil {
return x.Preview
@@ -163,6 +219,13 @@ func (x *UserShopData) GetPreview() map[int32]*DB_Equipment {
return nil
}
+func (x *UserShopData) GetLeftfreerefreshnum() int32 {
+ if x != nil {
+ return x.Leftfreerefreshnum
+ }
+ return 0
+}
+
type DBShop struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -184,7 +247,7 @@ type DBShop struct {
func (x *DBShop) Reset() {
*x = DBShop{}
if protoimpl.UnsafeEnabled {
- mi := &file_shop_shop_db_proto_msgTypes[1]
+ mi := &file_shop_shop_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -197,7 +260,7 @@ func (x *DBShop) String() string {
func (*DBShop) ProtoMessage() {}
func (x *DBShop) ProtoReflect() protoreflect.Message {
- mi := &file_shop_shop_db_proto_msgTypes[1]
+ mi := &file_shop_shop_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -210,7 +273,7 @@ func (x *DBShop) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBShop.ProtoReflect.Descriptor instead.
func (*DBShop) Descriptor() ([]byte, []int) {
- return file_shop_shop_db_proto_rawDescGZIP(), []int{1}
+ return file_shop_shop_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBShop) GetId() string {
@@ -296,66 +359,68 @@ var file_shop_shop_db_proto_rawDesc = []byte{
0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x64, 0x62, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2f,
0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44,
- 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65,
- 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x4c, 0x61,
- 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a,
- 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75,
- 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x74, 0x65,
- 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12,
- 0x28, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x55,
- 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x75, 0x79, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x65,
- 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x55, 0x73, 0x65,
- 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
- 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a,
- 0x36, 0x0a, 0x08, 0x42, 0x75, 0x79, 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, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x69,
- 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x71,
- 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0xc7, 0x03, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 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,
- 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c,
- 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12,
- 0x30, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f,
- 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, 0x65,
- 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f,
- 0x70, 0x12, 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61,
- 0x74, 0x61, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x0b,
- 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61,
- 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a,
- 0x07, 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
- 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70,
- 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f,
- 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68,
- 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12,
- 0x31, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18,
- 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70,
- 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68,
- 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0a,
+ 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f,
+ 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
+ 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x03, 0x67, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x22, 0xba, 0x02, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53,
+ 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4d, 0x61, 0x6e,
+ 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x23, 0x0a,
+ 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55,
+ 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x52, 0x05, 0x49, 0x74, 0x65,
+ 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x65, 0x66, 0x74,
+ 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x65, 0x66, 0x74, 0x66, 0x72, 0x65, 0x65, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x1a, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45,
+ 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0xc7, 0x03, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 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, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f,
+ 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70,
+ 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67,
+ 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68,
+ 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44,
- 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2d, 0x0a,
- 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61,
- 0x52, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x2a, 0x7d, 0x0a, 0x08,
- 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c,
- 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x01,
- 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10,
- 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x03, 0x12, 0x0b,
- 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x41,
- 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x05, 0x12, 0x0c, 0x0a,
- 0x08, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53,
- 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e,
- 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a,
+ 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27,
+ 0x0a, 0x07, 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07,
+ 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68,
+ 0x6f, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53,
+ 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70,
+ 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53,
+ 0x68, 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2d,
+ 0x0a, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x2a, 0x7d, 0x0a,
+ 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c,
+ 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10,
+ 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70,
+ 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x03, 0x12,
+ 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c,
+ 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x05, 0x12, 0x0c,
+ 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a,
+ 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04,
+ 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -374,22 +439,22 @@ var file_shop_shop_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_shop_shop_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_shop_shop_db_proto_goTypes = []interface{}{
(ShopType)(0), // 0: ShopType
- (*UserShopData)(nil), // 1: UserShopData
- (*DBShop)(nil), // 2: DBShop
- nil, // 3: UserShopData.BuyEntry
+ (*UserShopGood)(nil), // 1: UserShopGood
+ (*UserShopData)(nil), // 2: UserShopData
+ (*DBShop)(nil), // 3: DBShop
nil, // 4: UserShopData.PreviewEntry
(*DB_Equipment)(nil), // 5: DB_Equipment
}
var file_shop_shop_db_proto_depIdxs = []int32{
- 3, // 0: UserShopData.buy:type_name -> UserShopData.BuyEntry
+ 1, // 0: UserShopData.Items:type_name -> UserShopGood
4, // 1: UserShopData.preview:type_name -> UserShopData.PreviewEntry
- 1, // 2: DBShop.goldShop:type_name -> UserShopData
- 1, // 3: DBShop.diamondShop:type_name -> UserShopData
- 1, // 4: DBShop.pvpShop:type_name -> UserShopData
- 1, // 5: DBShop.pveShop:type_name -> UserShopData
- 1, // 6: DBShop.allianceShop:type_name -> UserShopData
- 1, // 7: DBShop.heroShop:type_name -> UserShopData
- 1, // 8: DBShop.smithyShop:type_name -> UserShopData
+ 2, // 2: DBShop.goldShop:type_name -> UserShopData
+ 2, // 3: DBShop.diamondShop:type_name -> UserShopData
+ 2, // 4: DBShop.pvpShop:type_name -> UserShopData
+ 2, // 5: DBShop.pveShop:type_name -> UserShopData
+ 2, // 6: DBShop.allianceShop:type_name -> UserShopData
+ 2, // 7: DBShop.heroShop:type_name -> UserShopData
+ 2, // 8: DBShop.smithyShop:type_name -> UserShopData
5, // 9: UserShopData.PreviewEntry.value:type_name -> DB_Equipment
10, // [10:10] is the sub-list for method output_type
10, // [10:10] is the sub-list for method input_type
@@ -406,7 +471,7 @@ func file_shop_shop_db_proto_init() {
file_equipment_equipment_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_shop_shop_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UserShopData); i {
+ switch v := v.(*UserShopGood); i {
case 0:
return &v.state
case 1:
@@ -418,6 +483,18 @@ func file_shop_shop_db_proto_init() {
}
}
file_shop_shop_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserShopData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_shop_shop_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBShop); i {
case 0:
return &v.state
diff --git a/pb/shop_msg.pb.go b/pb/shop_msg.pb.go
index 570a3c1fe..c27fee94e 100644
--- a/pb/shop_msg.pb.go
+++ b/pb/shop_msg.pb.go
@@ -26,12 +26,13 @@ type ShopItem struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- GoodsId int32 `protobuf:"varint,1,opt,name=GoodsId,proto3" json:"GoodsId"` //商品Id
- Items []*UserAssets `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items"` //货物
- Consume []*UserAssets `protobuf:"bytes,3,rep,name=Consume,proto3" json:"Consume"` //消耗
- Sale int32 `protobuf:"varint,4,opt,name=Sale,proto3" json:"Sale"` //打折
- LeftBuyNum int32 `protobuf:"varint,5,opt,name=LeftBuyNum,proto3" json:"LeftBuyNum"` //还可购买次数
- Preview *DB_Equipment `protobuf:"bytes,6,opt,name=preview,proto3" json:"preview"` //装备预览数据
+ Gid int32 `protobuf:"varint,1,opt,name=gid,proto3" json:"gid"` //商品id 唯一
+ GoodsId int32 `protobuf:"varint,2,opt,name=GoodsId,proto3" json:"GoodsId"` //商品配置id
+ Items []*UserAssets `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items"` //货物
+ Consume []*UserAssets `protobuf:"bytes,4,rep,name=Consume,proto3" json:"Consume"` //消耗
+ Sale int32 `protobuf:"varint,5,opt,name=Sale,proto3" json:"Sale"` //打折
+ LeftBuyNum int32 `protobuf:"varint,6,opt,name=LeftBuyNum,proto3" json:"LeftBuyNum"` //还可购买次数
+ Preview *DB_Equipment `protobuf:"bytes,7,opt,name=preview,proto3" json:"preview"` //装备预览数据
}
func (x *ShopItem) Reset() {
@@ -66,6 +67,13 @@ func (*ShopItem) Descriptor() ([]byte, []int) {
return file_shop_shop_msg_proto_rawDescGZIP(), []int{0}
}
+func (x *ShopItem) GetGid() int32 {
+ if x != nil {
+ return x.Gid
+ }
+ return 0
+}
+
func (x *ShopItem) GetGoodsId() int32 {
if x != nil {
return x.GoodsId
@@ -170,11 +178,12 @@ type ShopGetListResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- SType ShopType `protobuf:"varint,1,opt,name=sType,proto3,enum=ShopType" json:"sType"` //商城类型
- IsManualRefresh bool `protobuf:"varint,2,opt,name=IsManualRefresh,proto3" json:"IsManualRefresh"` //是否手动刷新
- Goods []*ShopItem `protobuf:"bytes,4,rep,name=Goods,proto3" json:"Goods"` //商品列表
- SurplusRefreshNum int32 `protobuf:"varint,5,opt,name=SurplusRefreshNum,proto3" json:"SurplusRefreshNum"` //剩余手动刷新次数
- Lastrefreshtime int64 `protobuf:"varint,6,opt,name=lastrefreshtime,proto3" json:"lastrefreshtime"` //上一次刷新时间
+ SType ShopType `protobuf:"varint,1,opt,name=sType,proto3,enum=ShopType" json:"sType"` //商城类型
+ IsManualRefresh bool `protobuf:"varint,2,opt,name=IsManualRefresh,proto3" json:"IsManualRefresh"` //是否手动刷新
+ Goods []*ShopItem `protobuf:"bytes,4,rep,name=Goods,proto3" json:"Goods"` //商品列表
+ SurplusRefreshNum int32 `protobuf:"varint,5,opt,name=SurplusRefreshNum,proto3" json:"SurplusRefreshNum"` //剩余手动刷新次数
+ Lastrefreshtime int64 `protobuf:"varint,6,opt,name=lastrefreshtime,proto3" json:"lastrefreshtime"` //上一次刷新时间
+ Leftfreerefreshnum int32 `protobuf:"varint,7,opt,name=leftfreerefreshnum,proto3" json:"leftfreerefreshnum"` //剩余免费刷新次数
}
func (x *ShopGetListResp) Reset() {
@@ -244,6 +253,13 @@ func (x *ShopGetListResp) GetLastrefreshtime() int64 {
return 0
}
+func (x *ShopGetListResp) GetLeftfreerefreshnum() int32 {
+ if x != nil {
+ return x.Leftfreerefreshnum
+ }
+ return 0
+}
+
//购买商品 请求
type ShopBuyReq struct {
state protoimpl.MessageState
@@ -251,7 +267,7 @@ type ShopBuyReq struct {
unknownFields protoimpl.UnknownFields
ShopType ShopType `protobuf:"varint,1,opt,name=ShopType,proto3,enum=ShopType" json:"ShopType"` //商店类型
- GoodsId int32 `protobuf:"varint,2,opt,name=GoodsId,proto3" json:"GoodsId"` //商品Id
+ Gid int32 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid"` //商品Id
BuyNum int32 `protobuf:"varint,3,opt,name=BuyNum,proto3" json:"BuyNum"` //商品购买数量
}
@@ -294,9 +310,9 @@ func (x *ShopBuyReq) GetShopType() ShopType {
return ShopType_Null
}
-func (x *ShopBuyReq) GetGoodsId() int32 {
+func (x *ShopBuyReq) GetGid() int32 {
if x != nil {
- return x.GoodsId
+ return x.Gid
}
return 0
}
@@ -364,49 +380,52 @@ var file_shop_shop_msg_proto_rawDesc = []byte{
0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
0x2f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d,
- 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x49, 0x74,
- 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72,
- 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x25, 0x0a,
- 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
- 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x07, 0x43, 0x6f, 0x6e,
- 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65, 0x66, 0x74,
- 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4c, 0x65,
- 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76,
- 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45,
- 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
- 0x77, 0x22, 0x5b, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
- 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
- 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x49,
- 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x22, 0xd5,
- 0x01, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x54,
- 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x49, 0x73,
- 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1f, 0x0a,
- 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53,
- 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x2c,
- 0x0a, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
- 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c,
- 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f,
- 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65,
- 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75,
- 0x79, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47,
- 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f,
- 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a,
- 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06,
- 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73,
- 0x53, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d,
+ 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67,
+ 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05,
+ 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73,
+ 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12,
+ 0x25, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x07, 0x43,
+ 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65,
+ 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
+ 0x4c, 0x65, 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42,
+ 0x5f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x22, 0x5b, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75,
+ 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05,
+ 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61,
+ 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
+ 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12,
+ 0x1f, 0x0a, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09,
+ 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73,
+ 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, 0x75, 0x72,
+ 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x28,
+ 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x65, 0x66, 0x74,
+ 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x65, 0x66, 0x74, 0x66, 0x72, 0x65, 0x65, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x5d, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70,
+ 0x42, 0x75, 0x79, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79,
+ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a,
+ 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12,
+ 0x16, 0x0a, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x42,
+ 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x42, 0x06,
+ 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/sys/configure/structs/Game.WorldBattleData.go b/sys/configure/structs/Game.WorldBattleData.go
index e67dbac39..396456717 100644
--- a/sys/configure/structs/Game.WorldBattleData.go
+++ b/sys/configure/structs/Game.WorldBattleData.go
@@ -16,6 +16,7 @@ type GameWorldBattleData struct {
BattleReadyID int32
EventList []int32
Playexp *Gameatn
+ Carexe int32
}
const TypeId_GameWorldBattleData = 1096332216
@@ -56,6 +57,7 @@ func (_v *GameWorldBattleData)Deserialize(_buf map[string]interface{}) (err erro
}
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["playexp"].(map[string]interface{}); !_ok_ { err = errors.New("playexp error"); return }; if _v.Playexp, err = DeserializeGameatn(_x_); err != nil { return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["carexe"].(float64); !_ok_ { err = errors.New("carexe error"); return }; _v.Carexe = int32(_tempNum_) }
return
}
diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go
index 41008685c..f85e30f5f 100644
--- a/sys/configure/structs/game.globalData.go
+++ b/sys/configure/structs/game.globalData.go
@@ -114,7 +114,7 @@ type GameGlobalData struct {
ArenaTicketMax int32
ArenaTicketRecoveryTime int32
ArenaTicketCos *Gameatn
- ArenaBuy []*Gameatn
+ ArenaBuy int32
VikingExpeditionRecoveryTime int32
CopsRecoveryTime int32
CopsInitialNum int32
@@ -493,20 +493,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_max"].(float64); !_ok_ { err = errors.New("ArenaTicket_max error"); return }; _v.ArenaTicketMax = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_RecoveryTime"].(float64); !_ok_ { err = errors.New("ArenaTicket_RecoveryTime error"); return }; _v.ArenaTicketRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["ArenaTicket_cos"].(map[string]interface{}); !_ok_ { err = errors.New("ArenaTicket_cos error"); return }; if _v.ArenaTicketCos, err = DeserializeGameatn(_x_); err != nil { return } }
- {
- var _arr_ []interface{}
- var _ok_ bool
- if _arr_, _ok_ = _buf["Arena_buy"].([]interface{}); !_ok_ { err = errors.New("Arena_buy error"); return }
-
- _v.ArenaBuy = make([]*Gameatn, 0, len(_arr_))
-
- for _, _e_ := range _arr_ {
- var _list_v_ *Gameatn
- { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
- _v.ArenaBuy = append(_v.ArenaBuy, _list_v_)
- }
- }
-
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Arena_buy"].(float64); !_ok_ { err = errors.New("Arena_buy error"); return }; _v.ArenaBuy = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VikingExpedition_RecoveryTime"].(float64); !_ok_ { err = errors.New("VikingExpedition_RecoveryTime error"); return }; _v.VikingExpeditionRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_RecoveryTime"].(float64); !_ok_ { err = errors.New("cops_RecoveryTime error"); return }; _v.CopsRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_InitialNum"].(float64); !_ok_ { err = errors.New("cops_InitialNum error"); return }; _v.CopsInitialNum = int32(_tempNum_) }
diff --git a/sys/configure/structs/game.playerlvData.go b/sys/configure/structs/game.playerlvData.go
index f549665f9..d3e9ff867 100644
--- a/sys/configure/structs/game.playerlvData.go
+++ b/sys/configure/structs/game.playerlvData.go
@@ -16,6 +16,7 @@ type GamePlayerlvData struct {
Reward []*Gameatn
PsCeiling int32
CopsPsCeiling int32
+ HeroLv int32
}
const TypeId_GamePlayerlvData = 927774449
@@ -43,6 +44,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_) }
return
}