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_) }