diff --git a/bin/json/game_buzkashigrade.json b/bin/json/game_buzkashigrade.json
new file mode 100644
index 000000000..a673dd940
--- /dev/null
+++ b/bin/json/game_buzkashigrade.json
@@ -0,0 +1,22 @@
+[
+ {
+ "num": 1,
+ "distance": "1",
+ "value": 2
+ },
+ {
+ "num": 2,
+ "distance": "2",
+ "value": 4
+ },
+ {
+ "num": 3,
+ "distance": "3",
+ "value": 6
+ },
+ {
+ "num": 4,
+ "distance": "4",
+ "value": 8
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashilv.json b/bin/json/game_buzkashilv.json
new file mode 100644
index 000000000..ca7f65a7c
--- /dev/null
+++ b/bin/json/game_buzkashilv.json
@@ -0,0 +1,32 @@
+[
+ {
+ "num": 1,
+ "score": "c",
+ "value": 10
+ },
+ {
+ "num": 2,
+ "score": "b",
+ "value": 20
+ },
+ {
+ "num": 3,
+ "score": "a",
+ "value": 50
+ },
+ {
+ "num": 4,
+ "score": "s",
+ "value": 80
+ },
+ {
+ "num": 5,
+ "score": "ss",
+ "value": 100
+ },
+ {
+ "num": 6,
+ "score": "sss",
+ "value": 120
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashimount.json b/bin/json/game_buzkashimount.json
new file mode 100644
index 000000000..351d3ecac
--- /dev/null
+++ b/bin/json/game_buzkashimount.json
@@ -0,0 +1,38 @@
+[
+ {
+ "num": "20030001",
+ "stime": 100,
+ "etime": 120,
+ "hp": 7,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ },
+ {
+ "num": "20030002",
+ "stime": 100,
+ "etime": 120,
+ "hp": 5,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ },
+ {
+ "num": "20030003",
+ "stime": 100,
+ "etime": 120,
+ "hp": 5,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashireward.json b/bin/json/game_buzkashireward.json
new file mode 100644
index 000000000..856a5fe9c
--- /dev/null
+++ b/bin/json/game_buzkashireward.json
@@ -0,0 +1,67 @@
+[
+ {
+ "key": 1,
+ "schedule": 20,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "key": 2,
+ "schedule": 40,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 10000
+ }
+ ]
+ },
+ {
+ "key": 3,
+ "schedule": 60,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "key": 4,
+ "schedule": 80,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 10
+ },
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 20000
+ }
+ ]
+ },
+ {
+ "key": 5,
+ "schedule": 100,
+ "reword": [
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 1
+ },
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 50000
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_coin.json b/bin/json/game_coin.json
index e7dfcdbb9..1b24c43cb 100644
--- a/bin/json/game_coin.json
+++ b/bin/json/game_coin.json
@@ -1,7 +1,10 @@
[
{
"key": "gold",
- "name": "gold",
+ "name": {
+ "key": "item_coin_name_gold",
+ "text": "金币"
+ },
"color": 1,
"effects": "",
"access": 123,
@@ -13,7 +16,10 @@
},
{
"key": "diamond",
- "name": "Diamond ",
+ "name": {
+ "key": "item_coin_name_diamond",
+ "text": "钻石"
+ },
"color": 2,
"effects": "",
"access": 158,
@@ -25,7 +31,10 @@
},
{
"key": "exp",
- "name": "exp",
+ "name": {
+ "key": "item_coin_name_exp",
+ "text": "角色经验"
+ },
"color": 3,
"effects": "",
"access": 113,
@@ -37,7 +46,10 @@
},
{
"key": "friendPoint",
- "name": "Friendship point",
+ "name": {
+ "key": "item_coin_name_friendPoint",
+ "text": "友情点"
+ },
"color": 1,
"effects": "",
"access": 115,
@@ -49,7 +61,10 @@
},
{
"key": "palyexp",
- "name": "palyexp",
+ "name": {
+ "key": "item_coin_name_palyexp",
+ "text": "废弃角色经验"
+ },
"color": 3,
"effects": "",
"access": 113,
@@ -61,110 +76,137 @@
},
{
"key": "guildexp",
- "name": "guildexp",
+ "name": {
+ "key": "item_coin_name_guildexp",
+ "text": "公会经验"
+ },
"color": 1,
"effects": "",
"access": 157,
"img": "wp_icon_10024",
"intr": {
"key": "item_coin_intr_guildexp",
- "text": "有多种功能的基础货币"
+ "text": "可以用于提升公会等级"
}
},
{
"key": "guildactive",
- "name": "guildactive",
+ "name": {
+ "key": "item_coin_name_guildactive",
+ "text": "公会活跃度"
+ },
"color": 1,
"effects": "",
"access": 157,
"img": "wp_icon_0001",
"intr": {
"key": "item_coin_intr_guildactive",
- "text": "有多种功能的基础货币"
+ "text": "通过公会任务获取,达到一定活跃度公会成员都可以在公会任务界面领取奖励"
}
},
{
"key": "guildcoin",
- "name": "guildcoin",
+ "name": {
+ "key": "item_coin_name_guildcoin",
+ "text": "公会币"
+ },
"color": 3,
"effects": "",
"access": 157,
"img": "wp_icon_10017",
"intr": {
"key": "item_coin_intr_guildcoin",
- "text": "有多种功能的基础货币"
+ "text": "可以用于在公会商店兑换各种道具"
}
},
{
"key": "starcoin",
- "name": "starcoin",
+ "name": {
+ "key": "item_coin_name_starcoin",
+ "text": "星图币"
+ },
"color": 3,
"effects": "",
"access": 158,
"img": "wp_icon_10017",
"intr": {
"key": "item_coin_intr_starcoin",
- "text": "有多种功能的基础货币"
+ "text": "点亮星图的必要道具"
}
},
{
"key": "vipexp",
- "name": "vipexp",
+ "name": {
+ "key": "item_coin_name_vipexp",
+ "text": "商会经验"
+ },
"color": 3,
"effects": "",
"access": 158,
"img": "wp_icon_0002",
"intr": {
"key": "item_coin_intr_vipexp",
- "text": "有多种功能的基础货币"
+ "text": "商会地位的象征,积累一定声望可以提升商会等级"
}
},
{
"key": "arenacoin",
- "name": "arenacoin",
+ "name": {
+ "key": "item_coin_name_arenacoin",
+ "text": "竞技场币"
+ },
"color": 3,
"effects": "",
"access": 156,
"img": "icon_ry",
"intr": {
"key": "item_coin_intr_arenacoin",
- "text": "有多种功能的基础货币"
+ "text": "向竞技比赛强者发放的兑换币,可以在竞技商店兑换多种奖励"
}
},
{
"key": "ps",
- "name": "ps",
+ "name": {
+ "key": "item_coin_name_ps",
+ "text": "体力值"
+ },
"color": 3,
"effects": "",
"access": 156,
"img": "wp_icon_0002",
"intr": {
"key": "item_coin_intr_ps",
- "text": "有多种功能的基础货币"
+ "text": "挑战关卡必备"
}
},
{
"key": "heroexp",
- "name": "heroexp",
+ "name": {
+ "key": "item_coin_name_heroexp",
+ "text": "英雄经验"
+ },
"color": 3,
"effects": "",
"access": 0,
"img": "wp_icon_10009",
"intr": {
"key": "item_coin_intr_heroexp",
- "text": "有多种功能的基础货币"
+ "text": "累积到一定值会提升英雄等级"
}
},
{
"key": "moongold",
- "name": "Badge of honor",
+ "name": {
+ "key": "item_coin_name_moongold",
+ "text": "荣耀值"
+ },
"color": 5,
"effects": "",
"access": 107,
"img": "wp_icon_10009",
"intr": {
"key": "item_coin_intr_moongold",
- "text": "有多种功能的基础货币"
+ "text": "月亮币"
}
}
]
\ No newline at end of file
diff --git a/bin/json/game_initial.json b/bin/json/game_initial.json
index 062e56559..d6bc75abb 100644
--- a/bin/json/game_initial.json
+++ b/bin/json/game_initial.json
@@ -1588,5 +1588,15 @@
"n": 1
}
]
+ },
+ {
+ "index": "325",
+ "var": [
+ {
+ "a": "mts",
+ "t": "20030001",
+ "n": 1
+ }
+ ]
}
]
\ No newline at end of file
diff --git a/bin/json/game_mainstage.json b/bin/json/game_mainstage.json
index 0b8c643c4..05bf8907d 100644
--- a/bin/json/game_mainstage.json
+++ b/bin/json/game_mainstage.json
@@ -11,6 +11,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 618,
"afterstoryid": 0,
"mainlineName": {
@@ -93,6 +94,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 619,
"afterstoryid": 0,
"mainlineName": {
@@ -180,6 +182,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 621,
"afterstoryid": 0,
"mainlineName": {
@@ -267,6 +270,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 623,
"afterstoryid": 0,
"mainlineName": {
@@ -354,6 +358,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 626,
"afterstoryid": 628,
"mainlineName": {
@@ -441,6 +446,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 636,
"afterstoryid": 637,
"mainlineName": {
@@ -528,6 +534,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -615,6 +622,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -702,6 +710,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -790,6 +799,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -878,6 +888,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -966,6 +977,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1054,6 +1066,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1141,6 +1154,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1228,6 +1242,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1316,6 +1331,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1404,6 +1420,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1492,6 +1509,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1580,6 +1598,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1667,6 +1686,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1754,6 +1774,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1842,6 +1863,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -1930,6 +1952,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@@ -2018,6 +2041,7 @@
"z": 0
},
"EditorStage": 0,
+ "detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
diff --git a/bin/json/game_navigation.json b/bin/json/game_navigation.json
new file mode 100644
index 000000000..6f4374553
--- /dev/null
+++ b/bin/json/game_navigation.json
@@ -0,0 +1,377 @@
+[
+ {
+ "Id": 1,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_1",
+ "text": "充值"
+ },
+ "npcName": "功能入口-充值",
+ "functionicon": ""
+ },
+ {
+ "Id": 2,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_2",
+ "text": "商人"
+ },
+ "npcName": "功能入口-商人",
+ "functionicon": ""
+ },
+ {
+ "Id": 3,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_3",
+ "text": "任务"
+ },
+ "npcName": "功能入口-任务",
+ "functionicon": ""
+ },
+ {
+ "Id": 4,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_4",
+ "text": "公告"
+ },
+ "npcName": "功能入口-公告",
+ "functionicon": ""
+ },
+ {
+ "Id": 5,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_5",
+ "text": "邮件"
+ },
+ "npcName": "功能入口-邮件",
+ "functionicon": ""
+ },
+ {
+ "Id": 6,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_6",
+ "text": "主线关卡"
+ },
+ "npcName": "功能入口-主线",
+ "functionicon": ""
+ },
+ {
+ "Id": 7,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_7",
+ "text": "维京远征"
+ },
+ "npcName": "功能入口-维京远征",
+ "functionicon": ""
+ },
+ {
+ "Id": 8,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_8",
+ "text": "捕羊大赛"
+ },
+ "npcName": "功能入口-捕羊大赛",
+ "functionicon": ""
+ },
+ {
+ "Id": 9,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_9",
+ "text": "狩猎"
+ },
+ "npcName": "功能入口-狩猎",
+ "functionicon": ""
+ },
+ {
+ "Id": 10,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_10",
+ "text": "旧时光"
+ },
+ "npcName": "功能入口-剧情副本",
+ "functionicon": ""
+ },
+ {
+ "Id": 11,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_11",
+ "text": "竞技场"
+ },
+ "npcName": "功能入口-竞技场",
+ "functionicon": ""
+ },
+ {
+ "Id": 12,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_12",
+ "text": "招募"
+ },
+ "npcName": "功能入口-招募",
+ "functionicon": ""
+ },
+ {
+ "Id": 13,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_13",
+ "text": "签到"
+ },
+ "npcName": "功能入口-签到",
+ "functionicon": ""
+ },
+ {
+ "Id": 14,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_14",
+ "text": "魔药"
+ },
+ "npcName": "功能入口-魔药",
+ "functionicon": ""
+ },
+ {
+ "Id": 15,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_15",
+ "text": "烹饪"
+ },
+ "npcName": "功能入口-烹饪",
+ "functionicon": ""
+ },
+ {
+ "Id": 16,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_16",
+ "text": "打造"
+ },
+ "npcName": "打造",
+ "functionicon": ""
+ },
+ {
+ "Id": 17,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_17",
+ "text": "锻造炉"
+ },
+ "npcName": "锻造炉",
+ "functionicon": ""
+ },
+ {
+ "Id": 18,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_18",
+ "text": "手册台"
+ },
+ "npcName": "手册台",
+ "functionicon": ""
+ },
+ {
+ "Id": 19,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_19",
+ "text": "总教习"
+ },
+ "npcName": "总教习",
+ "functionicon": ""
+ },
+ {
+ "Id": 20,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_20",
+ "text": "阿宝"
+ },
+ "npcName": "阿宝",
+ "functionicon": ""
+ },
+ {
+ "Id": 21,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_21",
+ "text": "告示板"
+ },
+ "npcName": "告示板",
+ "functionicon": ""
+ },
+ {
+ "Id": 22,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_22",
+ "text": "木桩1"
+ },
+ "npcName": "木桩1",
+ "functionicon": ""
+ },
+ {
+ "Id": 23,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_23",
+ "text": "木桩2"
+ },
+ "npcName": "木桩2",
+ "functionicon": ""
+ },
+ {
+ "Id": 24,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_24",
+ "text": "木桩3"
+ },
+ "npcName": "木桩3",
+ "functionicon": ""
+ },
+ {
+ "Id": 25,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_25",
+ "text": "木桩4"
+ },
+ "npcName": "木桩4",
+ "functionicon": ""
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json
index 394e64a95..249b1b2bb 100644
--- a/bin/json/game_opencond.json
+++ b/bin/json/game_opencond.json
@@ -1636,5 +1636,29 @@
"notify": [
"practice"
]
+ },
+ {
+ "id": "practice_Kick",
+ "name": {
+ "key": "",
+ "text": ""
+ },
+ "main": [
+ {
+ "key": 1,
+ "param": 2
+ }
+ ],
+ "optional": "",
+ "wkqbx": 0,
+ "kqbx": 0,
+ "img": "",
+ "prompt": {
+ "key": "",
+ "text": ""
+ },
+ "uiid": 0,
+ "activateType": 0,
+ "notify": []
}
]
\ No newline at end of file
diff --git a/bin/json/game_rdtasknpc.json b/bin/json/game_rdtasknpc.json
index e44700ed4..8fd159d5d 100644
--- a/bin/json/game_rdtasknpc.json
+++ b/bin/json/game_rdtasknpc.json
@@ -32,7 +32,7 @@
"heroid": 45001,
"datas": [
"WuGuanScene",
- "乌龟大师",
+ "总教习",
"137"
],
"event": [
@@ -51,7 +51,7 @@
],
"event": [
2,
- 500
+ 333
],
"goto": 0
},
@@ -79,7 +79,7 @@
],
"event": [
2,
- 602
+ 601
],
"goto": 0
},
@@ -93,7 +93,7 @@
],
"event": [
2,
- 603
+ 602
],
"goto": 0
},
@@ -107,7 +107,7 @@
],
"event": [
2,
- 604
+ 603
],
"goto": 0
},
@@ -127,10 +127,10 @@
},
{
"id": 10022,
- "heroid": 25001,
+ "heroid": 24004,
"datas": [
"GameMain",
- "20020_熊猫_2",
+ "20020_邦尼兔_1",
"901"
],
"event": [
@@ -169,15 +169,15 @@
},
{
"id": 10032,
- "heroid": 24004,
+ "heroid": 25001,
"datas": [
"GameMain",
- "20020_邦尼兔_1",
+ "20020_熊猫_2",
"901"
],
"event": [
2,
- 609
+ 610
],
"goto": 0
},
@@ -253,6 +253,20 @@
},
{
"id": 10070,
+ "heroid": 44004,
+ "datas": [
+ "GameMain",
+ "20010_骇客蛛_1",
+ "901"
+ ],
+ "event": [
+ 2,
+ 617
+ ],
+ "goto": 0
+ },
+ {
+ "id": 10080,
"heroid": 43007,
"datas": [
"SmithyScene",
@@ -266,21 +280,7 @@
"goto": 0
},
{
- "id": 10071,
- "heroid": 14001,
- "datas": [
- "GameMain",
- "功能入口-维京远征",
- "901"
- ],
- "event": [
- 10,
- 167
- ],
- "goto": 0
- },
- {
- "id": 10072,
+ "id": 10081,
"heroid": 43007,
"datas": [
"SmithyScene",
@@ -294,7 +294,7 @@
"goto": 0
},
{
- "id": 10080,
+ "id": 10090,
"heroid": 44004,
"datas": [
"GameMain",
@@ -307,101 +307,17 @@
],
"goto": 0
},
- {
- "id": 10081,
- "heroid": 14003,
- "datas": [
- "GameMain",
- "功能入口-主线",
- "901"
- ],
- "event": [
- 10,
- 166
- ],
- "goto": 0
- },
- {
- "id": 10082,
- "heroid": 13002,
- "datas": [
- "GameMain",
- "20080_食人鱼_1",
- "901"
- ],
- "event": [
- 2,
- 637
- ],
- "goto": 0
- },
- {
- "id": 10090,
- "heroid": 25001,
- "datas": [
- "GameMain",
- "20020_熊猫_2",
- "901"
- ],
- "event": [
- 2,
- 638
- ],
- "goto": 0
- },
- {
- "id": 10091,
- "heroid": 45001,
- "datas": [
- "GameMain",
- "功能入口-招募",
- "901"
- ],
- "event": [
- 10,
- 107
- ],
- "goto": 0
- },
{
"id": 10100,
- "heroid": 25001,
+ "heroid": 44004,
"datas": [
"GameMain",
- "20020_熊猫_2",
+ "20010_骇客蛛_1",
"901"
],
"event": [
2,
- 640
- ],
- "goto": 0
- },
- {
- "id": 10101,
- "heroid": 35003,
- "datas": [
- "GameMain",
- "20100_梦魇_1",
- "901"
- ],
- "event": [
- 2,
- 642
- ],
- "goto": 0
- },
- {
- "id": 10102,
- "heroid": 24004,
- "datas": [
- "GameMain",
- "20020_邦尼兔_1",
- "901"
- ],
- "event": [
- 2,
- 641
+ 501
],
"goto": 0
},
@@ -415,7 +331,35 @@
],
"event": [
2,
- 99999
+ 639
+ ],
+ "goto": 0
+ },
+ {
+ "id": 10120,
+ "heroid": 25001,
+ "datas": [
+ "GameMain",
+ "20020_熊猫_2",
+ "901"
+ ],
+ "event": [
+ 2,
+ 640
+ ],
+ "goto": 0
+ },
+ {
+ "id": 10130,
+ "heroid": 25001,
+ "datas": [
+ "GameMain",
+ "20020_熊猫_2",
+ "901"
+ ],
+ "event": [
+ 2,
+ 641
],
"goto": 0
},
diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json
index 9f777ec87..df9e70724 100644
--- a/bin/json/game_skillafteratk.json
+++ b/bin/json/game_skillafteratk.json
@@ -4176,36 +4176,10 @@
{
"Id": 225001311,
"EmitPR": 1000,
- "From": 2,
- "Where": [],
- "Order": "",
- "Limit": 10,
- "ExecuteCnt": 3,
- "Type": 1,
- "Argu": [
- 1,
- 4,
- 400,
- 1,
- 5,
- 500
- ],
- "FollowSK": [],
- "SucFollowSK": [],
- "FailFollowSK": [],
- "MustHit": false,
- "DpsRevisiType": 0,
- "DpsCondition": "",
- "RevisiCondition": "",
- "RevisiParams": []
- },
- {
- "Id": 225001312,
- "EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
- "Limit": 1,
+ "Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -4224,12 +4198,12 @@
"RevisiParams": []
},
{
- "Id": 225001313,
+ "Id": 225001312,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
- "Limit": 1,
+ "Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -4247,6 +4221,32 @@
"RevisiCondition": "",
"RevisiParams": []
},
+ {
+ "Id": 225001313,
+ "EmitPR": 1000,
+ "From": 2,
+ "Where": [],
+ "Order": "",
+ "Limit": 10,
+ "ExecuteCnt": 3,
+ "Type": 1,
+ "Argu": [
+ 1,
+ 4,
+ 400,
+ 1,
+ 5,
+ 500
+ ],
+ "FollowSK": [],
+ "SucFollowSK": [],
+ "FailFollowSK": [],
+ "MustHit": false,
+ "DpsRevisiType": 0,
+ "DpsCondition": "",
+ "RevisiCondition": "",
+ "RevisiParams": []
+ },
{
"Id": 225001321,
"EmitPR": 1000,
@@ -13102,7 +13102,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 3,
"Type": 1,
"Argu": [
@@ -13569,7 +13569,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -13901,7 +13901,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -14147,7 +14147,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -14629,7 +14629,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -14774,7 +14774,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -14798,7 +14798,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 10,
"Argu": [
@@ -15462,7 +15462,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 2,
"Argu": [
@@ -15487,7 +15487,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -15960,7 +15960,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 14,
"Argu": [
@@ -20396,7 +20396,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -22504,7 +22504,9 @@
1,
1
],
- "FollowSK": [],
+ "FollowSK": [
+ 255002212
+ ],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
@@ -22537,6 +22539,55 @@
"RevisiCondition": "",
"RevisiParams": []
},
+ {
+ "Id": 255002213,
+ "EmitPR": 1000,
+ "From": 3,
+ "Where": [],
+ "Order": "",
+ "Limit": 1,
+ "ExecuteCnt": 1,
+ "Type": 2,
+ "Argu": [
+ 455002211,
+ -1,
+ 0
+ ],
+ "FollowSK": [
+ 255002214
+ ],
+ "SucFollowSK": [],
+ "FailFollowSK": [],
+ "MustHit": false,
+ "DpsRevisiType": 0,
+ "DpsCondition": "",
+ "RevisiCondition": "",
+ "RevisiParams": []
+ },
+ {
+ "Id": 255002214,
+ "EmitPR": 1000,
+ "From": 3,
+ "Where": [],
+ "Order": "",
+ "Limit": 10,
+ "ExecuteCnt": 1,
+ "Type": 3,
+ "Argu": [
+ 390001116,
+ 1000,
+ 1,
+ -1
+ ],
+ "FollowSK": [],
+ "SucFollowSK": [],
+ "FailFollowSK": [],
+ "MustHit": false,
+ "DpsRevisiType": 0,
+ "DpsCondition": "",
+ "RevisiCondition": "",
+ "RevisiParams": []
+ },
{
"Id": 255002311,
"EmitPR": 1000,
@@ -25688,7 +25739,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -25834,7 +25885,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -25883,7 +25934,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 8,
"Argu": [
@@ -25932,7 +25983,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 12,
"Argu": [
@@ -25953,7 +26004,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@@ -25980,7 +26031,7 @@
"From": 4,
"Where": [],
"Order": "",
- "Limit": 10,
+ "Limit": 1,
"ExecuteCnt": 1,
"Type": 5,
"Argu": [
diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json
index 86deceed7..1fbaedad5 100644
--- a/bin/json/game_skillatk.json
+++ b/bin/json/game_skillatk.json
@@ -11757,7 +11757,8 @@
"Target": 0,
"ChildSkill": {
"Id": [
- 255002211
+ 255002211,
+ 255002213
]
},
"Desc": {
diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json
index aae9609c8..5359eac4d 100644
--- a/bin/json/game_skillpassive.json
+++ b/bin/json/game_skillpassive.json
@@ -1728,6 +1728,20 @@
255002212
]
},
+ {
+ "Id": 455002212,
+ "When": 2,
+ "FromCheck": "Target=3",
+ "TargetCheck": "",
+ "MainSkillCheck": "",
+ "AfterSkillCheck": "",
+ "BuffCheck": "",
+ "AddCon": [],
+ "PasPr": 1000,
+ "Type": "CallSkillPas",
+ "MaxEmitTimes": 1,
+ "Callback": []
+ },
{
"Id": 414002212,
"When": 12,
diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json
index 92e23681f..6bd829600 100644
--- a/bin/json/game_worldtask.json
+++ b/bin/json/game_worldtask.json
@@ -32,7 +32,7 @@
"key": "Mainline_Tasks1_1_Receiving",
"text": "寻找熊猫"
},
- "deliver_npc": 10012,
+ "deliver_npc": 0,
"auto_accept": 1,
"reword": [
{
@@ -70,13 +70,13 @@
"text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。"
},
"completetask": [
- 20002
+ 0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_2_Receiving",
"text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。"
},
- "deliver_npc": 10022,
+ "deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@@ -108,7 +108,7 @@
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
},
- "npc": 10030,
+ "npc": 10021,
"completetasktxt": {
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
@@ -120,7 +120,7 @@
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
},
- "deliver_npc": 10032,
+ "deliver_npc": 10030,
"auto_accept": 0,
"reword": [
{
@@ -152,7 +152,7 @@
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
},
- "npc": 10040,
+ "npc": 10031,
"completetasktxt": {
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
@@ -164,7 +164,7 @@
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
},
- "deliver_npc": 10041,
+ "deliver_npc": 10032,
"auto_accept": 0,
"reword": [
{
@@ -246,13 +246,13 @@
"text": "被月中人选中之人,终将为守护而生。"
},
"completetask": [
- 161
+ 0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_6_Receiving",
"text": "被月中人选中之人,终将为守护而生。"
},
- "deliver_npc": 10061,
+ "deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@@ -290,13 +290,13 @@
"text": "试炼的终点,是名为勇者的觉醒。"
},
"completetask": [
- 304
+ 161
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_7_Receiving",
"text": "试炼的终点,是名为勇者的觉醒。"
},
- "deliver_npc": 10072,
+ "deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@@ -344,7 +344,7 @@
"text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……"
},
"completetask": [
- 305
+ 304
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_8_Receiving",
@@ -376,23 +376,23 @@
},
"task_name": {
"key": "Mainline_Tasks1_9",
- "text": "召唤英雄"
+ "text": "试炼再起"
},
"npctxt": {
"key": "Mainline_Tasks1_9_Receiving",
- "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ "text": "这就是维京人的工艺技术吗,我现在感觉自己的实力确实增长不少。"
},
"npc": 10090,
"completetasktxt": {
"key": "Mainline_Tasks1_9_Receiving",
- "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ "text": "我迫不及待的想要体验新获得的历练了"
},
"completetask": [
- 306
+ 305
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_9_Receiving",
- "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ "text": "我迫不及待的想要体验新获得的历练了"
},
"deliver_npc": 0,
"auto_accept": 0,
@@ -420,25 +420,25 @@
},
"task_name": {
"key": "Mainline_Tasks1_10",
- "text": "梦魇的诞生"
+ "text": "归还原石"
},
"npctxt": {
"key": "Mainline_Tasks1_10_Receiving",
- "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ "text": "月光原石回到了它应该在的位置。"
},
"npc": 10100,
"completetasktxt": {
"key": "Mainline_Tasks1_10_Receiving",
- "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ "text": "月光原石回到了它应该在的位置。"
},
"completetask": [
- 307
+ 0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_10_Receiving",
- "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ "text": "月光原石回到了它应该在的位置。"
},
- "deliver_npc": 10102,
+ "deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@@ -454,6 +454,138 @@
"lock": 1,
"lockend": 0,
"ontxe": 20100,
+ "id_after": 20120,
+ "group": 210,
+ "des": 2,
+ "icon": "",
+ "task_Tname": {
+ "key": "Mainline_Tasks1",
+ "text": "第一章:预言之声"
+ },
+ "task_name": {
+ "key": "Mainline_Tasks1_11",
+ "text": "召唤英雄"
+ },
+ "npctxt": {
+ "key": "Mainline_Tasks1_11_Receiving",
+ "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ },
+ "npc": 10110,
+ "completetasktxt": {
+ "key": "Mainline_Tasks1_11_Receiving",
+ "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ },
+ "completetask": [
+ 306
+ ],
+ "deliver_npctxt": {
+ "key": "Mainline_Tasks1_11_Receiving",
+ "text": "叩响【守护之地】的门扉,迎接英雄的到来。"
+ },
+ "deliver_npc": 0,
+ "auto_accept": 0,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 5000
+ }
+ ],
+ "module": []
+ },
+ {
+ "key": 20120,
+ "lock": 1,
+ "lockend": 0,
+ "ontxe": 20110,
+ "id_after": 20130,
+ "group": 210,
+ "des": 2,
+ "icon": "",
+ "task_Tname": {
+ "key": "Mainline_Tasks1",
+ "text": "第一章:预言之声"
+ },
+ "task_name": {
+ "key": "Mainline_Tasks1_12",
+ "text": "梦魇的诞生"
+ },
+ "npctxt": {
+ "key": "Mainline_Tasks1_12_Receiving",
+ "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ },
+ "npc": 10120,
+ "completetasktxt": {
+ "key": "Mainline_Tasks1_12_Receiving",
+ "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ },
+ "completetask": [
+ 307
+ ],
+ "deliver_npctxt": {
+ "key": "Mainline_Tasks1_12_Receiving",
+ "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
+ },
+ "deliver_npc": 0,
+ "auto_accept": 0,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 5000
+ }
+ ],
+ "module": []
+ },
+ {
+ "key": 20130,
+ "lock": 1,
+ "lockend": 0,
+ "ontxe": 20120,
+ "id_after": 20140,
+ "group": 210,
+ "des": 2,
+ "icon": "",
+ "task_Tname": {
+ "key": "Mainline_Tasks1",
+ "text": "第一章:预言之声"
+ },
+ "task_name": {
+ "key": "Mainline_Tasks1_13",
+ "text": ""
+ },
+ "npctxt": {
+ "key": "Mainline_Tasks1_13_Receiving",
+ "text": "消失的阴影"
+ },
+ "npc": 10130,
+ "completetasktxt": {
+ "key": "Mainline_Tasks1_13_Receiving",
+ "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。"
+ },
+ "completetask": [
+ 0
+ ],
+ "deliver_npctxt": {
+ "key": "Mainline_Tasks1_13_Receiving",
+ "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。"
+ },
+ "deliver_npc": 0,
+ "auto_accept": 0,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 5000
+ }
+ ],
+ "module": []
+ },
+ {
+ "key": 20140,
+ "lock": 1,
+ "lockend": 0,
+ "ontxe": 20120,
"id_after": 0,
"group": 210,
"des": 2,
@@ -482,7 +614,7 @@
"key": "Mainline_Tasks1_11",
"text": "敬请期待!"
},
- "deliver_npc": 10110,
+ "deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@@ -520,7 +652,7 @@
"text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。"
},
"completetask": [
- 30001
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest1_1_Receiving",
@@ -564,7 +696,7 @@
"text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?"
},
"completetask": [
- 30002
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest2_1_Receiving",
@@ -652,7 +784,7 @@
"text": "戈伯有事情找我,我或许该去看看。"
},
"completetask": [
- 30003
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest3_1_Receiving",
@@ -740,7 +872,7 @@
"text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看"
},
"completetask": [
- 30004
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest4_1_Receiving",
@@ -784,7 +916,7 @@
"text": "那不是小伊吗,她是在.....练武吗?"
},
"completetask": [
- 30005
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest5_1_Receiving",
@@ -828,7 +960,7 @@
"text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?"
},
"completetask": [
- 30006
+ 0
],
"deliver_npctxt": {
"key": "Side_Quest6_1_Receiving",
diff --git a/modules/parkour/api_changemts.go b/modules/parkour/api_changemts.go
index 951ada26a..433060b03 100644
--- a/modules/parkour/api_changemts.go
+++ b/modules/parkour/api_changemts.go
@@ -3,6 +3,7 @@ package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
)
//参数校验
@@ -13,9 +14,10 @@ func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourCh
///游戏
func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
- info *pb.DBParkour
- team *pb.DBParkour
- err error
+ info *pb.DBParkour
+ team *pb.DBParkour
+ mount *cfg.GameBuzkashiMountData
+ err error
)
if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success {
return
@@ -29,12 +31,16 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
return
}
info.Dfmount = req.Mtsid
-
if info.Captainid != "" {
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
if info.Captainid == session.GetUserId() {
for _, v := range info.Member {
if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount
+ v.Hp = mount.Hp
}
}
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
@@ -52,6 +58,7 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
for _, v := range team.Member {
if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount
+ v.Hp = mount.Hp
}
}
if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{
diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go
index 5e3d45222..03c737b5f 100644
--- a/modules/parkour/api_invite.go
+++ b/modules/parkour/api_invite.go
@@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
"time"
)
@@ -18,6 +19,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
info *pb.DBParkour
tinfo *pb.DBParkour
tuser *pb.DBUser
+ mount *cfg.GameBuzkashiMountData
ok bool
err error
)
@@ -36,24 +38,37 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
code = pb.ErrorCode_ReqParameterError
return
}
+ if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil {
+ code = pb.ErrorCode_SystemError
+ return
+ }
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp, Isai: true})
+
+ if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
+ if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Uid) {
- info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Isai: true})
+ info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true})
} else {
- if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
- code = pb.ErrorCode_DBError
- return
- }
if tinfo.Captainid != "" {
code = pb.ErrorCode_ParkourTargetTeamed
return
}
-
ok = false
for _, v := range info.Invite {
if v.Uid == req.Uid {
diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go
index 71684951c..7fc2cdb58 100644
--- a/modules/parkour/api_invitehandle.go
+++ b/modules/parkour/api_invitehandle.go
@@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
"time"
)
@@ -19,6 +20,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
tean *pb.DBParkour
invite *pb.DBRaceInvite
member *pb.DBRaceMember
+ mount *cfg.GameBuzkashiMountData
users []string
ok bool
err error
@@ -30,6 +32,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
code = pb.ErrorCode_DBError
return
}
+
if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil {
code = pb.ErrorCode_DBError
return
@@ -53,7 +56,11 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
for i, v := range tean.Member {
users[i] = v.Uid
}
- member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount}
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount, Hp: mount.Hp}
tean.Captainid = tean.Uid
tean.Member = append(tean.Member, member)
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
diff --git a/modules/parkour/configure.go b/modules/parkour/configure.go
index 919f2ef97..179827bf1 100644
--- a/modules/parkour/configure.go
+++ b/modules/parkour/configure.go
@@ -1,11 +1,18 @@
package parkour
import (
+ "fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
+ cfg "go_dreamfactory/sys/configure/structs"
)
-const ()
+const (
+ game_buzkashigrade = "game_buzkashigrade.json"
+ game_buzkashilv = "game_buzkashilv.json"
+ game_buzkashimount = "game_buzkashimount.json"
+ game_buzkashireward = "game_buzkashireward.json"
+)
///背包配置管理组件
type configureComp struct {
@@ -17,6 +24,28 @@ type configureComp struct {
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.(*Parkour)
-
+ this.LoadConfigure(game_buzkashigrade, cfg.NewGameBuzkashiGrade)
+ this.LoadConfigure(game_buzkashilv, cfg.NewGameBuzkashiLv)
+ this.LoadConfigure(game_buzkashimount, cfg.NewGameBuzkashiMount)
+ this.LoadConfigure(game_buzkashireward, cfg.NewGameBuzkashiReward)
+ return
+}
+
+//查询坐骑表
+func (this *configureComp) getGameBuzkashiMount(id string) (configure *cfg.GameBuzkashiMountData, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(game_buzkashimount); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ if configure, ok = v.(*cfg.GameBuzkashiMount).GetDataMap()[id]; !ok {
+ err = fmt.Errorf("not found:%s ", id)
+ this.module.Errorln(err)
+ return
+ }
+ }
return
}
diff --git a/modules/parkour/core.go b/modules/parkour/core.go
index 57eccd4e2..90d71a724 100644
--- a/modules/parkour/core.go
+++ b/modules/parkour/core.go
@@ -14,8 +14,12 @@ type RaceItem struct {
lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
RedMember []*pb.DBRaceMember //红方成员
RedSession []comm.IUserSession //红方会话
+ RedScore int32 //红方分值
+ RedEnergy int32 //红方能量
BuleMember []*pb.DBRaceMember //蓝方成员
BuleSession []comm.IUserSession //蓝方会话
+ BuleScore int32 //蓝方分值
+ BuleEnergy int32 //蓝方能量
overtimer *timewheel.Task //准备倒计时定时器
}
diff --git a/modules/parkour/model_parkour.go b/modules/parkour/model_parkour.go
index a43040cdb..ef03444d3 100644
--- a/modules/parkour/model_parkour.go
+++ b/modules/parkour/model_parkour.go
@@ -127,7 +127,7 @@ func (this *ModelParkourComp) queryinfo(uid string) (result *pb.DBParkour, err e
State: pb.RaceTeamState_teaming,
Mounts: make(map[string]int32),
Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Member: []*pb.DBRaceMember{},
}
if err = this.Add(uid, result); err != nil {
this.module.Errorln(err)
@@ -161,7 +161,7 @@ func (this *ModelParkourComp) queryinfos(uids []string) (results []*pb.DBParkour
State: pb.RaceTeamState_teaming,
Mounts: make(map[string]int32),
Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Member: []*pb.DBRaceMember{},
}
newdata[v] = temp
}
@@ -199,7 +199,7 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32)
State: pb.RaceTeamState_teaming,
Invite: make([]*pb.DBRaceInvite, 0),
Mounts: make(map[string]int32),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Member: []*pb.DBRaceMember{},
}
for k, _ := range mounts {
diff --git a/modules/parkour/module.go b/modules/parkour/module.go
index 5a1a32054..b6e239fdf 100644
--- a/modules/parkour/module.go
+++ b/modules/parkour/module.go
@@ -128,6 +128,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
if online {
battle.RedSession = append(battle.RedSession, session)
}
+ } else {
+ v.Ready = true
}
}
@@ -141,6 +143,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
if online {
battle.BuleSession = append(battle.BuleSession, session)
}
+ } else {
+ v.Ready = true
}
}
sessions = append(sessions, battle.BuleSession...)
@@ -164,6 +168,7 @@ func (this *Parkour) startbattle(id string) {
var (
battle *RaceItem
ok bool
+ member []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -171,9 +176,23 @@ func (this *Parkour) startbattle(id string) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
+ for _, v := range battle.RedMember {
+ if v.Isai {
+ member = append(member, v)
+ }
+ }
+ for _, v := range battle.BuleMember {
+ if v.Isai {
+ member = append(member, v)
+ }
+ }
+ if err = this.ai.createAi(battle.Id, member); err != nil {
+ this.Errorln(err)
+ return
+ }
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{
+ if err = this.SendMsgToSession(string(comm.ModulePvp), "racestart", &pb.ParkourRaceStartPush{
Countdown: 3,
}, sessions...); err != nil {
this.Errorln(err)
@@ -195,8 +214,9 @@ func (this *Parkour) shot(id string, uid string) {
if ok {
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{
- Countdown: 3,
+ if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{
+ Red: battle.RedScore,
+ Blue: battle.BuleScore,
}, sessions...); err != nil {
this.Errorln(err)
}
@@ -208,6 +228,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
var (
battle *RaceItem
ok bool
+ member *pb.DBRaceMember
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -215,10 +236,30 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
+ ok = false
+ for _, v := range battle.RedMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ }
+ }
+ if !ok {
+ for _, v := range battle.BuleMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ }
+ }
+ }
+ if !ok {
+ this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid})
+ return
+ }
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{
- Countdown: 3,
+ if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
+ Uid: uid,
+ Hp: member.Hp,
}, sessions...); err != nil {
this.Errorln(err)
}
@@ -231,6 +272,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
var (
battle *RaceItem
ok bool
+ side int32
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -243,12 +285,16 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
delete(this.battles, id)
this.lock.Unlock()
this.raceComp.delrace(id)
+ this.ai.removeAi(id)
+ if battle.RedScore > battle.BuleScore {
+ side = 1
+ } else {
+ side = 2
+ }
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceOverPush{
- Race: &pb.DBRace{
- Id: battle.Id,
- },
+ if err = this.SendMsgToSession(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{
+ Winside: side,
}, sessions...); err != nil {
this.Errorln(err)
return
diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go
index abbe20f21..b7feda341 100644
--- a/pb/parkour_msg.pb.go
+++ b/pb/parkour_msg.pb.go
@@ -1248,6 +1248,8 @@ type ParkourAllSprintsPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Left int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left"` //剩余时间
}
func (x *ParkourAllSprintsPush) Reset() {
@@ -1282,17 +1284,25 @@ func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26}
}
-//比赛数值变化推送
-type ParkourRaceChanagePush struct {
+func (x *ParkourAllSprintsPush) GetLeft() int32 {
+ if x != nil {
+ return x.Left
+ }
+ return 0
+}
+
+//玩家hp变化通知
+type ParkourPlayerHPChanagePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
+ Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
+ Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
}
-func (x *ParkourRaceChanagePush) Reset() {
- *x = ParkourRaceChanagePush{}
+func (x *ParkourPlayerHPChanagePush) Reset() {
+ *x = ParkourPlayerHPChanagePush{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1300,13 +1310,13 @@ func (x *ParkourRaceChanagePush) Reset() {
}
}
-func (x *ParkourRaceChanagePush) String() string {
+func (x *ParkourPlayerHPChanagePush) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ParkourRaceChanagePush) ProtoMessage() {}
+func (*ParkourPlayerHPChanagePush) ProtoMessage() {}
-func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
+func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1318,31 +1328,94 @@ func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ParkourRaceChanagePush.ProtoReflect.Descriptor instead.
-func (*ParkourRaceChanagePush) Descriptor() ([]byte, []int) {
+// Deprecated: Use ParkourPlayerHPChanagePush.ProtoReflect.Descriptor instead.
+func (*ParkourPlayerHPChanagePush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27}
}
-func (x *ParkourRaceChanagePush) GetRace() *DBRace {
+func (x *ParkourPlayerHPChanagePush) GetUid() string {
if x != nil {
- return x.Race
+ return x.Uid
}
- return nil
+ return ""
}
-//比赛
+func (x *ParkourPlayerHPChanagePush) GetHp() int32 {
+ if x != nil {
+ return x.Hp
+ }
+ return 0
+}
+
+//比赛分值变化
+type ParkourScoreChanagePush struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Red int32 `protobuf:"varint,1,opt,name=red,proto3" json:"red"`
+ Blue int32 `protobuf:"varint,2,opt,name=blue,proto3" json:"blue"`
+}
+
+func (x *ParkourScoreChanagePush) Reset() {
+ *x = ParkourScoreChanagePush{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourScoreChanagePush) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourScoreChanagePush) ProtoMessage() {}
+
+func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ 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 ParkourScoreChanagePush.ProtoReflect.Descriptor instead.
+func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
+}
+
+func (x *ParkourScoreChanagePush) GetRed() int32 {
+ if x != nil {
+ return x.Red
+ }
+ return 0
+}
+
+func (x *ParkourScoreChanagePush) GetBlue() int32 {
+ if x != nil {
+ return x.Blue
+ }
+ return 0
+}
+
+//比赛结束通知
type ParkourRaceOverPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
+ Winside int32 `protobuf:"varint,1,opt,name=winside,proto3" json:"winside"` //0平局 1 红方胜利 2 蓝方胜利
}
func (x *ParkourRaceOverPush) Reset() {
*x = ParkourRaceOverPush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1355,7 +1428,7 @@ func (x *ParkourRaceOverPush) String() string {
func (*ParkourRaceOverPush) ProtoMessage() {}
func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1368,14 +1441,14 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead.
func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29}
}
-func (x *ParkourRaceOverPush) GetRace() *DBRace {
+func (x *ParkourRaceOverPush) GetWinside() int32 {
if x != nil {
- return x.Race
+ return x.Winside
}
- return nil
+ return 0
}
///匹配请求 RPC消息定义 服务器自用 客户端不用理会
@@ -1391,7 +1464,7 @@ type RPCParkourJoinMatchReq struct {
func (x *RPCParkourJoinMatchReq) Reset() {
*x = RPCParkourJoinMatchReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[29]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1404,7 +1477,7 @@ func (x *RPCParkourJoinMatchReq) String() string {
func (*RPCParkourJoinMatchReq) ProtoMessage() {}
func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[29]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1417,7 +1490,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30}
}
func (x *RPCParkourJoinMatchReq) GetCaptainid() string {
@@ -1444,7 +1517,7 @@ type RPCParkourJoinMatchResp struct {
func (x *RPCParkourJoinMatchResp) Reset() {
*x = RPCParkourJoinMatchResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[30]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1457,7 +1530,7 @@ func (x *RPCParkourJoinMatchResp) String() string {
func (*RPCParkourJoinMatchResp) ProtoMessage() {}
func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[30]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1470,7 +1543,7 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31}
}
///匹配成功通知请求
@@ -1486,7 +1559,7 @@ type RPCParkourMatchSuccReq struct {
func (x *RPCParkourMatchSuccReq) Reset() {
*x = RPCParkourMatchSuccReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[31]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1499,7 +1572,7 @@ func (x *RPCParkourMatchSuccReq) String() string {
func (*RPCParkourMatchSuccReq) ProtoMessage() {}
func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[31]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1512,7 +1585,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32}
}
func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember {
@@ -1539,7 +1612,7 @@ type RPCParkourMatchSuccResp struct {
func (x *RPCParkourMatchSuccResp) Reset() {
*x = RPCParkourMatchSuccResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[32]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1552,7 +1625,7 @@ func (x *RPCParkourMatchSuccResp) String() string {
func (*RPCParkourMatchSuccResp) ProtoMessage() {}
func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[32]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1565,7 +1638,7 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33}
}
var File_parkour_parkour_msg_proto protoreflect.FileDescriptor
@@ -1653,31 +1726,37 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{
0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22,
- 0x17, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72,
- 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b,
- 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75,
- 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22,
- 0x32, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76,
- 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72,
- 0x61, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
- 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
- 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d,
- 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42,
- 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62,
- 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
- 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a,
- 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68,
- 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
- 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
- 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52,
- 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75,
- 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72,
+ 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a,
+ 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43,
+ 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02,
+ 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17,
+ 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a,
+ 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72,
+ 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d,
+ 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74,
+ 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70,
+ 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a,
+ 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50,
+ 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52,
+ 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03,
+ 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73,
+ 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
@@ -1692,7 +1771,7 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte {
return file_parkour_parkour_msg_proto_rawDescData
}
-var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
+var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_parkour_parkour_msg_proto_goTypes = []interface{}{
(*ParkourInfoReq)(nil), // 0: ParkourInfoReq
(*ParkourInfoResp)(nil), // 1: ParkourInfoResp
@@ -1721,36 +1800,35 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{
(*ParkourAvoidReq)(nil), // 24: ParkourAvoidReq
(*ParkourAvoidResp)(nil), // 25: ParkourAvoidResp
(*ParkourAllSprintsPush)(nil), // 26: ParkourAllSprintsPush
- (*ParkourRaceChanagePush)(nil), // 27: ParkourRaceChanagePush
- (*ParkourRaceOverPush)(nil), // 28: ParkourRaceOverPush
- (*RPCParkourJoinMatchReq)(nil), // 29: RPCParkourJoinMatchReq
- (*RPCParkourJoinMatchResp)(nil), // 30: RPCParkourJoinMatchResp
- (*RPCParkourMatchSuccReq)(nil), // 31: RPCParkourMatchSuccReq
- (*RPCParkourMatchSuccResp)(nil), // 32: RPCParkourMatchSuccResp
- (*DBParkour)(nil), // 33: DBParkour
- (*DBRaceMember)(nil), // 34: DBRaceMember
- (*DBRace)(nil), // 35: DBRace
+ (*ParkourPlayerHPChanagePush)(nil), // 27: ParkourPlayerHPChanagePush
+ (*ParkourScoreChanagePush)(nil), // 28: ParkourScoreChanagePush
+ (*ParkourRaceOverPush)(nil), // 29: ParkourRaceOverPush
+ (*RPCParkourJoinMatchReq)(nil), // 30: RPCParkourJoinMatchReq
+ (*RPCParkourJoinMatchResp)(nil), // 31: RPCParkourJoinMatchResp
+ (*RPCParkourMatchSuccReq)(nil), // 32: RPCParkourMatchSuccReq
+ (*RPCParkourMatchSuccResp)(nil), // 33: RPCParkourMatchSuccResp
+ (*DBParkour)(nil), // 34: DBParkour
+ (*DBRaceMember)(nil), // 35: DBRaceMember
+ (*DBRace)(nil), // 36: DBRace
}
var file_parkour_parkour_msg_proto_depIdxs = []int32{
- 33, // 0: ParkourInfoResp.info:type_name -> DBParkour
- 33, // 1: ParkourInfoResp.recommend:type_name -> DBParkour
- 33, // 2: ParkourInfoChangePush.info:type_name -> DBParkour
- 33, // 3: ParkourInviteResp.team:type_name -> DBParkour
- 33, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour
- 33, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour
- 34, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
- 34, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
- 35, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace
- 35, // 9: ParkourRaceChanagePush.race:type_name -> DBRace
- 35, // 10: ParkourRaceOverPush.race:type_name -> DBRace
- 34, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
- 34, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
- 34, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
- 14, // [14:14] is the sub-list for method output_type
- 14, // [14:14] is the sub-list for method input_type
- 14, // [14:14] is the sub-list for extension type_name
- 14, // [14:14] is the sub-list for extension extendee
- 0, // [0:14] is the sub-list for field type_name
+ 34, // 0: ParkourInfoResp.info:type_name -> DBParkour
+ 34, // 1: ParkourInfoResp.recommend:type_name -> DBParkour
+ 34, // 2: ParkourInfoChangePush.info:type_name -> DBParkour
+ 34, // 3: ParkourInviteResp.team:type_name -> DBParkour
+ 34, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour
+ 34, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour
+ 35, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
+ 35, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
+ 36, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace
+ 35, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
+ 35, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
+ 35, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
+ 12, // [12:12] is the sub-list for method output_type
+ 12, // [12:12] is the sub-list for method input_type
+ 12, // [12:12] is the sub-list for extension type_name
+ 12, // [12:12] is the sub-list for extension extendee
+ 0, // [0:12] is the sub-list for field type_name
}
func init() { file_parkour_parkour_msg_proto_init() }
@@ -2085,7 +2163,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceChanagePush); i {
+ switch v := v.(*ParkourPlayerHPChanagePush); i {
case 0:
return &v.state
case 1:
@@ -2097,7 +2175,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceOverPush); i {
+ switch v := v.(*ParkourScoreChanagePush); i {
case 0:
return &v.state
case 1:
@@ -2109,7 +2187,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourJoinMatchReq); i {
+ switch v := v.(*ParkourRaceOverPush); i {
case 0:
return &v.state
case 1:
@@ -2121,7 +2199,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourJoinMatchResp); i {
+ switch v := v.(*RPCParkourJoinMatchReq); i {
case 0:
return &v.state
case 1:
@@ -2133,7 +2211,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourMatchSuccReq); i {
+ switch v := v.(*RPCParkourJoinMatchResp); i {
case 0:
return &v.state
case 1:
@@ -2145,6 +2223,18 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourMatchSuccReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourMatchSuccResp); i {
case 0:
return &v.state
@@ -2163,7 +2253,7 @@ func file_parkour_parkour_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_parkour_parkour_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 33,
+ NumMessages: 34,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/sys/configure/structs/Game.BuzkashiGrade.go b/sys/configure/structs/Game.BuzkashiGrade.go
new file mode 100644
index 000000000..844167a60
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiGrade.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiGrade struct {
+ _dataMap map[int32]*GameBuzkashiGradeData
+ _dataList []*GameBuzkashiGradeData
+}
+
+func NewGameBuzkashiGrade(_buf []map[string]interface{}) (*GameBuzkashiGrade, error) {
+ _dataList := make([]*GameBuzkashiGradeData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiGradeData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiGradeData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiGrade{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiGrade) GetDataMap() map[int32]*GameBuzkashiGradeData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiGrade) GetDataList() []*GameBuzkashiGradeData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiGrade) Get(key int32) *GameBuzkashiGradeData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiGradeData.go b/sys/configure/structs/Game.BuzkashiGradeData.go
new file mode 100644
index 000000000..58cefc9c3
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiGradeData.go
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiGradeData struct {
+ Num int32
+ Distance string
+ Value int32
+}
+
+const TypeId_GameBuzkashiGradeData = -378990226
+
+func (*GameBuzkashiGradeData) GetTypeId() int32 {
+ return -378990226
+}
+
+func (_v *GameBuzkashiGradeData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Distance, _ok_ = _buf["distance"].(string); !_ok_ { err = errors.New("distance error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiGradeData(_buf map[string]interface{}) (*GameBuzkashiGradeData, error) {
+ v := &GameBuzkashiGradeData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiLv.go b/sys/configure/structs/Game.BuzkashiLv.go
new file mode 100644
index 000000000..5c4c1a3f2
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiLv.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiLv struct {
+ _dataMap map[int32]*GameBuzkashiLvData
+ _dataList []*GameBuzkashiLvData
+}
+
+func NewGameBuzkashiLv(_buf []map[string]interface{}) (*GameBuzkashiLv, error) {
+ _dataList := make([]*GameBuzkashiLvData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiLvData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiLvData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiLv{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiLv) GetDataMap() map[int32]*GameBuzkashiLvData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiLv) GetDataList() []*GameBuzkashiLvData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiLv) Get(key int32) *GameBuzkashiLvData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiLvData.go b/sys/configure/structs/Game.BuzkashiLvData.go
new file mode 100644
index 000000000..ad32def00
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiLvData.go
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiLvData struct {
+ Num int32
+ Score string
+ Value int32
+}
+
+const TypeId_GameBuzkashiLvData = -1108462041
+
+func (*GameBuzkashiLvData) GetTypeId() int32 {
+ return -1108462041
+}
+
+func (_v *GameBuzkashiLvData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Score, _ok_ = _buf["score"].(string); !_ok_ { err = errors.New("score error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiLvData(_buf map[string]interface{}) (*GameBuzkashiLvData, error) {
+ v := &GameBuzkashiLvData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiMount.go b/sys/configure/structs/Game.BuzkashiMount.go
new file mode 100644
index 000000000..256db7a82
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiMount.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiMount struct {
+ _dataMap map[string]*GameBuzkashiMountData
+ _dataList []*GameBuzkashiMountData
+}
+
+func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) {
+ _dataList := make([]*GameBuzkashiMountData, 0, len(_buf))
+ dataMap := make(map[string]*GameBuzkashiMountData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiMount{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiMount) GetDataMap() map[string]*GameBuzkashiMountData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiMount) Get(key string) *GameBuzkashiMountData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiMountData.go b/sys/configure/structs/Game.BuzkashiMountData.go
new file mode 100644
index 000000000..503940851
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiMountData.go
@@ -0,0 +1,53 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiMountData struct {
+ Num string
+ Stime int32
+ Etime int32
+ Hp int32
+ Model string
+ Point string
+ Moderate int32
+ Sprint int32
+ Acceleration int32
+ Deceleration int32
+}
+
+const TypeId_GameBuzkashiMountData = 1598069936
+
+func (*GameBuzkashiMountData) GetTypeId() int32 {
+ return 1598069936
+}
+
+func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; if _v.Num, _ok_ = _buf["num"].(string); !_ok_ { err = errors.New("num error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stime"].(float64); !_ok_ { err = errors.New("stime error"); return }; _v.Stime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["etime"].(float64); !_ok_ { err = errors.New("etime error"); return }; _v.Etime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
+ { var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["moderate"].(float64); !_ok_ { err = errors.New("moderate error"); return }; _v.Moderate = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sprint"].(float64); !_ok_ { err = errors.New("sprint error"); return }; _v.Sprint = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["acceleration"].(float64); !_ok_ { err = errors.New("acceleration error"); return }; _v.Acceleration = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deceleration"].(float64); !_ok_ { err = errors.New("deceleration error"); return }; _v.Deceleration = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiMountData(_buf map[string]interface{}) (*GameBuzkashiMountData, error) {
+ v := &GameBuzkashiMountData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiReward.go b/sys/configure/structs/Game.BuzkashiReward.go
new file mode 100644
index 000000000..8afd2c6cb
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiReward.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiReward struct {
+ _dataMap map[int32]*GameBuzkashiRewardData
+ _dataList []*GameBuzkashiRewardData
+}
+
+func NewGameBuzkashiReward(_buf []map[string]interface{}) (*GameBuzkashiReward, error) {
+ _dataList := make([]*GameBuzkashiRewardData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiRewardData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiRewardData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Key] = _v
+ }
+ }
+ return &GameBuzkashiReward{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiReward) GetDataMap() map[int32]*GameBuzkashiRewardData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiReward) GetDataList() []*GameBuzkashiRewardData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiReward) Get(key int32) *GameBuzkashiRewardData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiRewardData.go b/sys/configure/structs/Game.BuzkashiRewardData.go
new file mode 100644
index 000000000..cf44a2e1f
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiRewardData.go
@@ -0,0 +1,52 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiRewardData struct {
+ Key int32
+ Schedule int32
+ Reword []*Gameatn
+}
+
+const TypeId_GameBuzkashiRewardData = -1577911348
+
+func (*GameBuzkashiRewardData) GetTypeId() int32 {
+ return -1577911348
+}
+
+func (_v *GameBuzkashiRewardData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["schedule"].(float64); !_ok_ { err = errors.New("schedule error"); return }; _v.Schedule = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
+
+ _v.Reword = 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.Reword = append(_v.Reword, _list_v_)
+ }
+ }
+
+ return
+}
+
+func DeserializeGameBuzkashiRewardData(_buf map[string]interface{}) (*GameBuzkashiRewardData, error) {
+ v := &GameBuzkashiRewardData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.MainStageData.go b/sys/configure/structs/Game.MainStageData.go
index 68dd64ce0..8a6ebc062 100644
--- a/sys/configure/structs/Game.MainStageData.go
+++ b/sys/configure/structs/Game.MainStageData.go
@@ -19,6 +19,7 @@ type GameMainStageData struct {
Openlevel int32
Episodelocation serialization.Vector3
EditorStage int32
+ Detailwindow string
Frontstoryid int32
Afterstoryid int32
MainlineName string
@@ -59,6 +60,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EditorStage"].(float64); !_ok_ { err = errors.New("EditorStage error"); return }; _v.EditorStage = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Detailwindow, _ok_ = _buf["detailwindow"].(string); !_ok_ { err = errors.New("detailwindow error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
diff --git a/sys/configure/structs/Game.Navigation.go b/sys/configure/structs/Game.Navigation.go
new file mode 100644
index 000000000..66b6a814a
--- /dev/null
+++ b/sys/configure/structs/Game.Navigation.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameNavigation struct {
+ _dataMap map[int32]*GameNavigationData
+ _dataList []*GameNavigationData
+}
+
+func NewGameNavigation(_buf []map[string]interface{}) (*GameNavigation, error) {
+ _dataList := make([]*GameNavigationData, 0, len(_buf))
+ dataMap := make(map[int32]*GameNavigationData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameNavigationData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameNavigation{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameNavigation) GetDataMap() map[int32]*GameNavigationData {
+ return table._dataMap
+}
+
+func (table *GameNavigation) GetDataList() []*GameNavigationData {
+ return table._dataList
+}
+
+func (table *GameNavigation) Get(key int32) *GameNavigationData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.NavigationData.go b/sys/configure/structs/Game.NavigationData.go
new file mode 100644
index 000000000..293610cc0
--- /dev/null
+++ b/sys/configure/structs/Game.NavigationData.go
@@ -0,0 +1,47 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameNavigationData struct {
+ Id int32
+ Scene string
+ Scenename string
+ Sceneicon string
+ Functionname string
+ NpcName string
+ Functionicon string
+}
+
+const TypeId_GameNavigationData = -800652966
+
+func (*GameNavigationData) GetTypeId() int32 {
+ return -800652966
+}
+
+func (_v *GameNavigationData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Id"].(float64); !_ok_ { err = errors.New("Id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Scene, _ok_ = _buf["scene"].(string); !_ok_ { err = errors.New("scene error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["scenename"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Scenename error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Scenename, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.Sceneicon, _ok_ = _buf["sceneicon"].(string); !_ok_ { err = errors.New("sceneicon error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["functionname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Functionname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Functionname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.NpcName, _ok_ = _buf["npcName"].(string); !_ok_ { err = errors.New("npcName error"); return } }
+ { var _ok_ bool; if _v.Functionicon, _ok_ = _buf["functionicon"].(string); !_ok_ { err = errors.New("functionicon error"); return } }
+ return
+}
+
+func DeserializeGameNavigationData(_buf map[string]interface{}) (*GameNavigationData, error) {
+ v := &GameNavigationData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go
index 5c53fea6d..95775d48d 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -189,6 +189,11 @@ type Tables struct {
Favorability *GameFavorability
Friends *GameFriends
CampLv *GameCampLv
+ Navigation *GameNavigation
+ BuzkashiMount *GameBuzkashiMount
+ BuzkashiLv *GameBuzkashiLv
+ BuzkashiGrade *GameBuzkashiGrade
+ BuzkashiReward *GameBuzkashiReward
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -1264,5 +1269,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.CampLv, err = NewGameCampLv(buf) ; err != nil {
return nil, err
}
+ if buf, err = loader("game_navigation") ; err != nil {
+ return nil, err
+ }
+ if tables.Navigation, err = NewGameNavigation(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashimount") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiMount, err = NewGameBuzkashiMount(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashilv") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiLv, err = NewGameBuzkashiLv(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashigrade") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiGrade, err = NewGameBuzkashiGrade(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashireward") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}
diff --git a/sys/configure/structs/game.coinData.go b/sys/configure/structs/game.coinData.go
index 9066ab081..2ea0aa957 100644
--- a/sys/configure/structs/game.coinData.go
+++ b/sys/configure/structs/game.coinData.go
@@ -28,7 +28,7 @@ func (*GameCoinData) GetTypeId() int32 {
func (_v *GameCoinData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
- { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }