From d966496fd2cbcb57f1320c09e8327b1ea75e5833 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 30 Oct 2023 16:31:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_puggsyevent.json | 120 + bin/json/game_puggsyfight.json | 127 + bin/json/game_puggsyisland.json | 200 ++ bin/json/game_puggsyscore.json | 223 ++ bin/json/game_puggsyskill.json | 2700 +++++++++++++++++ modules/island/api_battle.go | 10 +- modules/island/api_complete.go | 120 +- modules/island/configure.go | 83 +- sys/configure/structs/Game.PuggsyEvent.go | 42 + sys/configure/structs/Game.PuggsyEventData.go | 56 + sys/configure/structs/Game.PuggsyFight.go | 42 + sys/configure/structs/Game.PuggsyFightData.go | 73 + sys/configure/structs/Game.PuggsyIsLand.go | 42 + .../structs/Game.PuggsyIsLandData.go | 56 + sys/configure/structs/Game.PuggsyScore.go | 42 + sys/configure/structs/Game.PuggsyScoreData.go | 56 + sys/configure/structs/Game.PuggsySkill.go | 42 + sys/configure/structs/Game.PuggsySkillData.go | 100 + sys/configure/structs/Tables.go | 35 + 19 files changed, 4063 insertions(+), 106 deletions(-) create mode 100644 bin/json/game_puggsyevent.json create mode 100644 bin/json/game_puggsyfight.json create mode 100644 bin/json/game_puggsyisland.json create mode 100644 bin/json/game_puggsyscore.json create mode 100644 bin/json/game_puggsyskill.json create mode 100644 sys/configure/structs/Game.PuggsyEvent.go create mode 100644 sys/configure/structs/Game.PuggsyEventData.go create mode 100644 sys/configure/structs/Game.PuggsyFight.go create mode 100644 sys/configure/structs/Game.PuggsyFightData.go create mode 100644 sys/configure/structs/Game.PuggsyIsLand.go create mode 100644 sys/configure/structs/Game.PuggsyIsLandData.go create mode 100644 sys/configure/structs/Game.PuggsyScore.go create mode 100644 sys/configure/structs/Game.PuggsyScoreData.go create mode 100644 sys/configure/structs/Game.PuggsySkill.go create mode 100644 sys/configure/structs/Game.PuggsySkillData.go diff --git a/bin/json/game_puggsyevent.json b/bin/json/game_puggsyevent.json new file mode 100644 index 000000000..74efb5bc0 --- /dev/null +++ b/bin/json/game_puggsyevent.json @@ -0,0 +1,120 @@ +[ + { + "event": 1001, + "node_id": 1, + "type": 1, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1002, + "node_id": 1, + "type": 2, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1003, + "node_id": 1, + "type": 2, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1004, + "node_id": 1, + "type": 3, + "value": 0, + "reward": [] + }, + { + "event": 1005, + "node_id": 1, + "type": 4, + "value": 0, + "reward": [] + }, + { + "event": 1006, + "node_id": 1, + "type": 1, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1007, + "node_id": 1, + "type": 2, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1008, + "node_id": 1, + "type": 2, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1009, + "node_id": 1, + "type": 3, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "event": 1010, + "node_id": 1, + "type": 4, + "value": 0, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + } +] \ No newline at end of file diff --git a/bin/json/game_puggsyfight.json b/bin/json/game_puggsyfight.json new file mode 100644 index 000000000..88661b006 --- /dev/null +++ b/bin/json/game_puggsyfight.json @@ -0,0 +1,127 @@ +[ + { + "boss_id": 810301, + "boss_name": { + "key": "guild_guild_boss_boss_name_1", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_1", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 155005111, + 155005211, + 155005311 + ], + "boss": [ + 810301 + ] + }, + { + "boss_id": 810302, + "boss_name": { + "key": "guild_guild_boss_boss_name_2", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_2", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 155007111, + 155007211, + 155007311 + ], + "boss": [ + 810302 + ] + }, + { + "boss_id": 810303, + "boss_name": { + "key": "guild_guild_boss_boss_name_3", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_3", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 155006111, + 155006211, + 155006311 + ], + "boss": [ + 810303 + ] + }, + { + "boss_id": 810304, + "boss_name": { + "key": "guild_guild_boss_boss_name_4", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_4", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 155005111, + 155005211, + 155005311 + ], + "boss": [ + 810304 + ] + }, + { + "boss_id": 810305, + "boss_name": { + "key": "guild_guild_boss_boss_name_5", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_5", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 155005111, + 155005211, + 155005311 + ], + "boss": [ + 810305 + ] + }, + { + "boss_id": 810306, + "boss_name": { + "key": "guild_guild_boss_boss_name_6", + "text": "胡德先生" + }, + "boss_text": { + "key": "guild_guild_boss_boss_name_6", + "text": "他是一名懦弱的战士" + }, + "BattleReadyID": 11706001, + "heroId": "33003", + "skill": [ + 125001111, + 125001211 + ], + "boss": [ + 810306 + ] + } +] \ No newline at end of file diff --git a/bin/json/game_puggsyisland.json b/bin/json/game_puggsyisland.json new file mode 100644 index 000000000..169275263 --- /dev/null +++ b/bin/json/game_puggsyisland.json @@ -0,0 +1,200 @@ +[ + { + "node_id": 1, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_1", + "text": "伯克岛" + }, + "time": [ + 0 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_1", + "text": "{0}可航行至伯克岛" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_1", + "text": "航行抵达伯克岛" + } + }, + { + "node_id": 2, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_2", + "text": "伯克岛" + }, + "time": [ + 0 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_2", + "text": "{0}可航行至伯克岛" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_2", + "text": "航行抵达伯克岛" + } + }, + { + "node_id": 3, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_3", + "text": "伯克岛" + }, + "time": [ + 0 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_3", + "text": "{0}可航行至伯克岛" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_3", + "text": "航行抵达伯克岛" + } + }, + { + "node_id": 4, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_4", + "text": "伯克岛" + }, + "time": [ + 0 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_4", + "text": "{0}可航行至伯克岛" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_4", + "text": "航行抵达伯克岛" + } + }, + { + "node_id": 5, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_5", + "text": "伯克岛" + }, + "time": [ + 0 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_5", + "text": "{0}可航行至伯克岛" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_5", + "text": "航行抵达伯克岛" + } + }, + { + "node_id": 6, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_6", + "text": "战栗海岸" + }, + "time": [ + 3 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_6", + "text": "{0}可航行至战栗海岸" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_6", + "text": "航行抵达战栗海岸" + } + }, + { + "node_id": 7, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_7", + "text": "战栗海岸" + }, + "time": [ + 3 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_7", + "text": "{0}可航行至战栗海岸" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_7", + "text": "航行抵达战栗海岸" + } + }, + { + "node_id": 8, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_8", + "text": "战栗海岸" + }, + "time": [ + 3 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_8", + "text": "{0}可航行至战栗海岸" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_8", + "text": "航行抵达战栗海岸" + } + }, + { + "node_id": 9, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_9", + "text": "维京海峡" + }, + "time": [ + 6 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_9", + "text": "{0}可航行至维京海峡" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_9", + "text": "航行抵达维京海峡" + } + }, + { + "node_id": 10, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_10", + "text": "维京海峡" + }, + "time": [ + 6 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_10", + "text": "{0}可航行至维京海峡" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_10", + "text": "航行抵达维京海峡" + } + }, + { + "node_id": 11, + "puggsy_name": { + "key": "guild_guild_boss_boss_name_11", + "text": "维京海峡" + }, + "time": [ + 6 + ], + "unlock": { + "key": "guild_guild_boss_boss_name_11", + "text": "{0}可航行至维京海峡" + }, + "introduce": { + "key": "guild_guild_boss_boss_name_11", + "text": "航行抵达维京海峡" + } + } +] \ No newline at end of file diff --git a/bin/json/game_puggsyscore.json b/bin/json/game_puggsyscore.json new file mode 100644 index 000000000..a29d88d45 --- /dev/null +++ b/bin/json/game_puggsyscore.json @@ -0,0 +1,223 @@ +[ + { + "id": 1, + "boss_id": 810301, + "rank_low": 0, + "rank_up": 19999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 2, + "boss_id": 810301, + "rank_low": 20000, + "rank_up": 49999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 3, + "boss_id": 810301, + "rank_low": 50000, + "rank_up": 79999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 4, + "boss_id": 810301, + "rank_low": 80000, + "rank_up": 99999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 5, + "boss_id": 810301, + "rank_low": 100000, + "rank_up": 149999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 6, + "boss_id": 810301, + "rank_low": 150000, + "rank_up": 199999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 7, + "boss_id": 810301, + "rank_low": 200000, + "rank_up": 249999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 8, + "boss_id": 810301, + "rank_low": 250000, + "rank_up": 319999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 9, + "boss_id": 810301, + "rank_low": 320000, + "rank_up": 399999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 10, + "boss_id": 810301, + "rank_low": 400000, + "rank_up": 499999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 11, + "boss_id": 810301, + "rank_low": 500000, + "rank_up": 599999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 12, + "boss_id": 810301, + "rank_low": 600000, + "rank_up": 699999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 13, + "boss_id": 810301, + "rank_low": 700000, + "rank_up": 999999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 14, + "boss_id": 810301, + "rank_low": 1000000, + "rank_up": 1199999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 15, + "boss_id": 810301, + "rank_low": 1200000, + "rank_up": 1599999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 16, + "boss_id": 810301, + "rank_low": 1600000, + "rank_up": 3799999, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + }, + { + "id": 17, + "boss_id": 810301, + "rank_low": 3800000, + "rank_up": -1, + "reward": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ] + } +] \ No newline at end of file diff --git a/bin/json/game_puggsyskill.json b/bin/json/game_puggsyskill.json new file mode 100644 index 000000000..4d798ad6e --- /dev/null +++ b/bin/json/game_puggsyskill.json @@ -0,0 +1,2700 @@ +[ + { + "id": 100101, + "node_id": 1001, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 0, + "node_direction": 0, + "node_long": 0, + "name": { + "key": "horoscope_horoscope_name_1", + "text": "全体属性生命提升" + }, + "comicon": "Life", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hp", + "n": 0 + } + ] + }, + { + "id": 100102, + "node_id": 1001, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 0, + "node_direction": 0, + "node_long": 0, + "name": { + "key": "horoscope_horoscope_name_2", + "text": "全体属性生命提升" + }, + "comicon": "Life", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hp", + "n": 75 + } + ] + }, + { + "id": 100103, + "node_id": 1001, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 0, + "node_direction": 0, + "node_long": 0, + "name": { + "key": "horoscope_horoscope_name_3", + "text": "全体属性生命提升" + }, + "comicon": "Life", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hp", + "n": 150 + } + ] + }, + { + "id": 100104, + "node_id": 1001, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 0, + "node_direction": 0, + "node_long": 0, + "name": { + "key": "horoscope_horoscope_name_4", + "text": "全体属性生命提升" + }, + "comicon": "Life", + "lv": 3, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hp", + "n": 225 + } + ] + }, + { + "id": 100105, + "node_id": 1001, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 0, + "node_direction": 0, + "node_long": 0, + "name": { + "key": "horoscope_horoscope_name_5", + "text": "全体属性生命提升" + }, + "comicon": "Life", + "lv": 4, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hp", + "n": 300 + } + ] + }, + { + "id": 100201, + "node_id": 1002, + "front": [ + 100105 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_6", + "text": "热情之火属性攻击提升" + }, + "comicon": "Attack", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "atk", + "n": 0 + } + ] + }, + { + "id": 100202, + "node_id": 1002, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_7", + "text": "热情之火属性攻击提升" + }, + "comicon": "Attack", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "atk", + "n": 20 + } + ] + }, + { + "id": 100203, + "node_id": 1002, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_8", + "text": "热情之火属性攻击提升" + }, + "comicon": "Attack", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "atk", + "n": 40 + } + ] + }, + { + "id": 100204, + "node_id": 1002, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_9", + "text": "热情之火属性攻击提升" + }, + "comicon": "Attack", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "atk", + "n": 60 + } + ] + }, + { + "id": 100301, + "node_id": 1003, + "front": [ + 100204 + ], + "node_type": 1, + "pre_node": 1002, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_10", + "text": "热情之火属性防御提升" + }, + "comicon": "Defense", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "def", + "n": 0 + } + ] + }, + { + "id": 100302, + "node_id": 1003, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1002, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_11", + "text": "热情之火属性防御提升" + }, + "comicon": "Defense", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "def", + "n": 15 + } + ] + }, + { + "id": 100303, + "node_id": 1003, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1002, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_12", + "text": "热情之火属性防御提升" + }, + "comicon": "Defense", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "def", + "n": 30 + } + ] + }, + { + "id": 100304, + "node_id": 1003, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1002, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_13", + "text": "热情之火属性防御提升" + }, + "comicon": "Defense", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "def", + "n": 45 + } + ] + }, + { + "id": 100401, + "node_id": 1004, + "front": [ + 100304 + ], + "node_type": 1, + "pre_node": 1003, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_14", + "text": "热情之火属性生命提升" + }, + "comicon": "Life", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "hp", + "n": 0 + } + ] + }, + { + "id": 100402, + "node_id": 1004, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1003, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_15", + "text": "热情之火属性生命提升" + }, + "comicon": "Life", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "hp", + "n": 200 + } + ] + }, + { + "id": 100403, + "node_id": 1004, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1003, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_16", + "text": "热情之火属性生命提升" + }, + "comicon": "Life", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "hp", + "n": 400 + } + ] + }, + { + "id": 100404, + "node_id": 1004, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1003, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_17", + "text": "热情之火属性生命提升" + }, + "comicon": "Life", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 1, + "upgrade": [ + { + "a": "hp", + "n": 600 + } + ] + }, + { + "id": 100501, + "node_id": 1005, + "front": [ + 100404 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_18", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 0 + } + ] + }, + { + "id": 100502, + "node_id": 1005, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_19", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 20 + } + ] + }, + { + "id": 100503, + "node_id": 1005, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_20", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 40 + } + ] + }, + { + "id": 100601, + "node_id": 1006, + "front": [ + 100404 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_21", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 0 + } + ] + }, + { + "id": 100602, + "node_id": 1006, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_22", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 20 + } + ] + }, + { + "id": 100603, + "node_id": 1006, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_23", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 40 + } + ] + }, + { + "id": 100701, + "node_id": 1007, + "front": [ + 100404 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_24", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 0 + } + ] + }, + { + "id": 100702, + "node_id": 1007, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_25", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 20 + } + ] + }, + { + "id": 100703, + "node_id": 1007, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1004, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_26", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 40 + } + ] + }, + { + "id": 100801, + "node_id": 1008, + "front": [ + 100104 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_27", + "text": "感观之林属性攻击提升" + }, + "comicon": "Attack", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "atk", + "n": 0 + } + ] + }, + { + "id": 100802, + "node_id": 1008, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_28", + "text": "感观之林属性攻击提升" + }, + "comicon": "Attack", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "atk", + "n": 20 + } + ] + }, + { + "id": 100803, + "node_id": 1008, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_29", + "text": "感观之林属性攻击提升" + }, + "comicon": "Attack", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "atk", + "n": 40 + } + ] + }, + { + "id": 100804, + "node_id": 1008, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_30", + "text": "感观之林属性攻击提升" + }, + "comicon": "Attack", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "atk", + "n": 60 + } + ] + }, + { + "id": 100901, + "node_id": 1009, + "front": [ + 100804 + ], + "node_type": 1, + "pre_node": 1008, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_31", + "text": "感观之林属性防御提升" + }, + "comicon": "Defense", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "def", + "n": 0 + } + ] + }, + { + "id": 100902, + "node_id": 1009, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1008, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_32", + "text": "感观之林属性防御提升" + }, + "comicon": "Defense", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "def", + "n": 15 + } + ] + }, + { + "id": 100903, + "node_id": 1009, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1008, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_33", + "text": "感观之林属性防御提升" + }, + "comicon": "Defense", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "def", + "n": 30 + } + ] + }, + { + "id": 100904, + "node_id": 1009, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1008, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_34", + "text": "感观之林属性防御提升" + }, + "comicon": "Defense", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "def", + "n": 45 + } + ] + }, + { + "id": 101001, + "node_id": 1010, + "front": [ + 100904 + ], + "node_type": 1, + "pre_node": 1009, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_35", + "text": "感观之林属性生命提升" + }, + "comicon": "Life", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "hp", + "n": 0 + } + ] + }, + { + "id": 101002, + "node_id": 1010, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1009, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_36", + "text": "感观之林属性生命提升" + }, + "comicon": "Life", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "hp", + "n": 200 + } + ] + }, + { + "id": 101003, + "node_id": 1010, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1009, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_37", + "text": "感观之林属性生命提升" + }, + "comicon": "Life", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "hp", + "n": 400 + } + ] + }, + { + "id": 101004, + "node_id": 1010, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1009, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_38", + "text": "感观之林属性生命提升" + }, + "comicon": "Life", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 2, + "upgrade": [ + { + "a": "hp", + "n": 600 + } + ] + }, + { + "id": 101101, + "node_id": 1011, + "front": [ + 101004 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_39", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 0 + } + ] + }, + { + "id": 101102, + "node_id": 1011, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_40", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 20 + } + ] + }, + { + "id": 101103, + "node_id": 1011, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_41", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 40 + } + ] + }, + { + "id": 101201, + "node_id": 1012, + "front": [ + 101004 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_42", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 0 + } + ] + }, + { + "id": 101202, + "node_id": 1012, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_43", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 20 + } + ] + }, + { + "id": 101203, + "node_id": 1012, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_44", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 40 + } + ] + }, + { + "id": 101301, + "node_id": 1013, + "front": [ + 101004 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_45", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 0 + } + ] + }, + { + "id": 101302, + "node_id": 1013, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_46", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 20 + } + ] + }, + { + "id": 101303, + "node_id": 1013, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1010, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_47", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 40 + } + ] + }, + { + "id": 101401, + "node_id": 1014, + "front": [ + 100104 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_48", + "text": "包容之水属性攻击提升" + }, + "comicon": "Attack", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "atk", + "n": 0 + } + ] + }, + { + "id": 101402, + "node_id": 1014, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_49", + "text": "包容之水属性攻击提升" + }, + "comicon": "Attack", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "atk", + "n": 20 + } + ] + }, + { + "id": 101403, + "node_id": 1014, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_50", + "text": "包容之水属性攻击提升" + }, + "comicon": "Attack", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "atk", + "n": 40 + } + ] + }, + { + "id": 101404, + "node_id": 1014, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_51", + "text": "包容之水属性攻击提升" + }, + "comicon": "Attack", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "atk", + "n": 60 + } + ] + }, + { + "id": 101501, + "node_id": 1015, + "front": [ + 101404 + ], + "node_type": 1, + "pre_node": 1014, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_52", + "text": "包容之水属性防御提升" + }, + "comicon": "Defense", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "def", + "n": 0 + } + ] + }, + { + "id": 101502, + "node_id": 1015, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1014, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_53", + "text": "包容之水属性防御提升" + }, + "comicon": "Defense", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "def", + "n": 15 + } + ] + }, + { + "id": 101503, + "node_id": 1015, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1014, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_54", + "text": "包容之水属性防御提升" + }, + "comicon": "Defense", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "def", + "n": 30 + } + ] + }, + { + "id": 101504, + "node_id": 1015, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1014, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_55", + "text": "包容之水属性防御提升" + }, + "comicon": "Defense", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "def", + "n": 45 + } + ] + }, + { + "id": 101601, + "node_id": 1016, + "front": [ + 101504 + ], + "node_type": 1, + "pre_node": 1015, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_56", + "text": "包容之水属性生命提升" + }, + "comicon": "Life", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "hp", + "n": 0 + } + ] + }, + { + "id": 101602, + "node_id": 1016, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1015, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_57", + "text": "包容之水属性生命提升" + }, + "comicon": "Life", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "hp", + "n": 200 + } + ] + }, + { + "id": 101603, + "node_id": 1016, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1015, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_58", + "text": "包容之水属性生命提升" + }, + "comicon": "Life", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "hp", + "n": 400 + } + ] + }, + { + "id": 101604, + "node_id": 1016, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1015, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_59", + "text": "包容之水属性生命提升" + }, + "comicon": "Life", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 3, + "upgrade": [ + { + "a": "hp", + "n": 600 + } + ] + }, + { + "id": 101701, + "node_id": 1017, + "front": [ + 101604 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_60", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 0 + } + ] + }, + { + "id": 101702, + "node_id": 1017, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_61", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 20 + } + ] + }, + { + "id": 101703, + "node_id": 1017, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_62", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 40 + } + ] + }, + { + "id": 101801, + "node_id": 1018, + "front": [ + 101604 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_63", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 0 + } + ] + }, + { + "id": 101802, + "node_id": 1018, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_64", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 20 + } + ] + }, + { + "id": 101803, + "node_id": 1018, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_65", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 40 + } + ] + }, + { + "id": 101901, + "node_id": 1019, + "front": [ + 101604 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_66", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 0 + } + ] + }, + { + "id": 101902, + "node_id": 1019, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_67", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 20 + } + ] + }, + { + "id": 101903, + "node_id": 1019, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1016, + "node_direction": 180, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_68", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 40 + } + ] + }, + { + "id": 102001, + "node_id": 1020, + "front": [ + 100104 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_69", + "text": "荣耀之光属性攻击提升" + }, + "comicon": "Attack", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "atk", + "n": 0 + } + ] + }, + { + "id": 102002, + "node_id": 1020, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_70", + "text": "荣耀之光属性攻击提升" + }, + "comicon": "Attack", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "atk", + "n": 20 + } + ] + }, + { + "id": 102003, + "node_id": 1020, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_71", + "text": "荣耀之光属性攻击提升" + }, + "comicon": "Attack", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "atk", + "n": 40 + } + ] + }, + { + "id": 102004, + "node_id": 1020, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1001, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_72", + "text": "荣耀之光属性攻击提升" + }, + "comicon": "Attack", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "atk", + "n": 60 + } + ] + }, + { + "id": 102101, + "node_id": 1021, + "front": [ + 102004 + ], + "node_type": 1, + "pre_node": 1020, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_73", + "text": "荣耀之光属性防御提升" + }, + "comicon": "Defense", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "def", + "n": 0 + } + ] + }, + { + "id": 102102, + "node_id": 1021, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1020, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_74", + "text": "荣耀之光属性防御提升" + }, + "comicon": "Defense", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "def", + "n": 15 + } + ] + }, + { + "id": 102103, + "node_id": 1021, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1020, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_75", + "text": "荣耀之光属性防御提升" + }, + "comicon": "Defense", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "def", + "n": 30 + } + ] + }, + { + "id": 102104, + "node_id": 1021, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1020, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_76", + "text": "荣耀之光属性防御提升" + }, + "comicon": "Defense", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "def", + "n": 45 + } + ] + }, + { + "id": 102201, + "node_id": 1022, + "front": [ + 102104 + ], + "node_type": 1, + "pre_node": 1021, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_77", + "text": "荣耀之光属性生命提升" + }, + "comicon": "Life", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "hp", + "n": 0 + } + ] + }, + { + "id": 102202, + "node_id": 1022, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1021, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_78", + "text": "荣耀之光属性生命提升" + }, + "comicon": "Life", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "hp", + "n": 200 + } + ] + }, + { + "id": 102203, + "node_id": 1022, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1021, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_79", + "text": "荣耀之光属性生命提升" + }, + "comicon": "Life", + "lv": 2, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "hp", + "n": 400 + } + ] + }, + { + "id": 102204, + "node_id": 1022, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1021, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_80", + "text": "荣耀之光属性生命提升" + }, + "comicon": "Life", + "lv": 3, + "cost_item": [], + "AddGroup": 2, + "AddClassify": 4, + "upgrade": [ + { + "a": "hp", + "n": 600 + } + ] + }, + { + "id": 102301, + "node_id": 1023, + "front": [ + 102204 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_81", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 0 + } + ] + }, + { + "id": 102302, + "node_id": 1023, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_82", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 20 + } + ] + }, + { + "id": 102303, + "node_id": 1023, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 0, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_83", + "text": "全体属性攻击百分比提升" + }, + "comicon": "js_icon_sx5", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "atkpro", + "n": 40 + } + ] + }, + { + "id": 102401, + "node_id": 1024, + "front": [ + 102204 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_84", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 0 + } + ] + }, + { + "id": 102402, + "node_id": 1024, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_85", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 20 + } + ] + }, + { + "id": 102403, + "node_id": 1024, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 90, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_86", + "text": "全体属性防御百分比提升" + }, + "comicon": "js_icon_sx9", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "defpro", + "n": 40 + } + ] + }, + { + "id": 102501, + "node_id": 1025, + "front": [ + 102204 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_87", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 0, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 0 + } + ] + }, + { + "id": 102502, + "node_id": 1025, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_88", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 1, + "cost_item": [ + { + "a": "attr", + "t": "starcoin", + "n": 1 + } + ], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 20 + } + ] + }, + { + "id": 102503, + "node_id": 1025, + "front": [ + 0 + ], + "node_type": 1, + "pre_node": 1022, + "node_direction": 270, + "node_long": 120, + "name": { + "key": "horoscope_horoscope_name_89", + "text": "全体属性生命百分比提升" + }, + "comicon": "js_icon_sx10", + "lv": 2, + "cost_item": [], + "AddGroup": 1, + "AddClassify": 0, + "upgrade": [ + { + "a": "hppro", + "n": 40 + } + ] + } +] \ No newline at end of file diff --git a/modules/island/api_battle.go b/modules/island/api_battle.go index 8df5ac3e6..9f0aeb818 100644 --- a/modules/island/api_battle.go +++ b/modules/island/api_battle.go @@ -26,15 +26,15 @@ func (this *apiComp) BattleCheck(session comm.IUserSession, req *pb.IsLandBattle // /获取系统公告 func (this *apiComp) Battle(session comm.IUserSession, req *pb.IsLandBattleReq) (errdata *pb.ErrorData) { var ( - conf *cfg.GameHeroupstoryChapterData - bconf *cfg.GameHeroupstoryBattleData + conf *cfg.GamePuggsyEventData + bconf *cfg.GamePuggsyFightData record *pb.DBBattleRecord err error ) if errdata = this.BattleCheck(session, req); errdata != nil { return } - if conf, err = this.module.configure.getGameHeroupstoryChapter(req.Level); err != nil { + if conf, err = this.module.configure.getGamePuggsyEventData(req.Level); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), @@ -42,7 +42,7 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.IsLandBattleReq) } return } - if bconf, err = this.module.configure.getGameHeroupstoryBattle(conf.Battle); err != nil { + if bconf, err = this.module.configure.getGamePuggsyFightData(conf.Value); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), @@ -54,7 +54,7 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.IsLandBattleReq) Rulesid: bconf.BattleReadyID, Ptype: pb.PlayType_rtask, Format: req.Battle, - Mformat: bconf.FormatList, + Mformat: bconf.Boss, }); err != nil { return } diff --git a/modules/island/api_complete.go b/modules/island/api_complete.go index 7ab386d0a..a5c5b1d52 100644 --- a/modules/island/api_complete.go +++ b/modules/island/api_complete.go @@ -4,7 +4,7 @@ import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" ) // 参数校验 @@ -16,19 +16,19 @@ func (this *apiComp) CompleteCheck(session comm.IUserSession, req *pb.IsLandComp // /获取自己的排行榜信息 func (this *apiComp) Complete(session comm.IUserSession, req *pb.IsLandCompleteReq) (errdata *pb.ErrorData) { var ( - info *pb.DBIsland - item *pb.DBIslandItem - award []*pb.UserAtno - ok bool - iswin bool - isfish bool - err error + info *pb.DBIsland + conf *cfg.GamePuggsyEventData + sconf *cfg.GamePuggsyScoreData + item *pb.DBIslandItem + award []*pb.UserAtno + ok bool + err error ) if errdata = this.CompleteCheck(session, req); errdata != nil { return } - if conf, err = this.module.configure.getGameHeroupstoryChapter(req.Level); err != nil { + if conf, err = this.module.configure.getGamePuggsyEventData(req.Level); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), @@ -46,110 +46,50 @@ func (this *apiComp) Complete(session comm.IUserSession, req *pb.IsLandCompleteR return } - if item, ok = info.Item[conf.Hero]; !ok { + if item, ok = info.Islands[conf.NodeId]; !ok { + item = &pb.DBIslandItem{ + Id: conf.NodeId, + Level: make(map[int32]int32), + } + info.Islands[conf.NodeId] = item + return + } + + if _, ok = item.Level[req.Level]; ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: fmt.Sprintf("no activation hero:%d", conf.Hero), - } - return - } - //前置判断 - if conf.Onlevel != 0 && item.Level[conf.Onlevel] == 0 { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: fmt.Sprintf("%d onlevel no Complete", req.Level), + Message: fmt.Sprintf("level:%d done!", req.Level), } return } - //前置判断 - if len(conf.Onlevelstory) == 2 && item.Level[conf.Onlevelstory[0]] == conf.Onlevelstory[1] { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: fmt.Sprintf("%d onlevel no Complete", req.Level), - } - return - } - - if conf.Leveltype != 1 && item.Level[req.Level] != 0 { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: fmt.Sprintf("%d received", req.Level), - } - return - } - - if item.Level[req.Level] != 0 { - isfish = true - } - - if chapterconf, err = this.module.configure.getGameHeroupstoryChaptertxt(conf.Chapter); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } - return - } - - if conf.Leveltype == 1 { //剧情关卡 - item.Level[req.Level] = req.Story - } else if conf.Leveltype == 2 { //战斗管卡 - if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if conf.Type == 2 { //战斗管卡 + if errdata, _ = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } - if !iswin { + if sconf, err = this.module.configure.getGamePuggsyScoreData(req.Report.Harm); err != nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: "battle no win!", + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), } return } item.Level[req.Level] = 1 - } else if conf.Leveltype == 4 { - item.Level[req.Level] = 1 - item.Chapter[conf.Chapter] = configure.Now().Unix() - } else if conf.Leveltype == 5 { - if req.Report != nil { - if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { - return - } - if !iswin { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: "battle no win!", - } - return - } + if errdata, award = this.module.DispenseAtno(session, sconf.Reward, true); errdata != nil { + return } - item.Level[req.Level] = 1 } else { item.Level[req.Level] = 1 - } - - if !isfish { - if errdata = this.module.DispenseRes(session, conf.Reward, true); errdata != nil { + if errdata, award = this.module.DispenseAtno(session, conf.Reward, true); errdata != nil { return } - award = make([]*pb.UserAssets, 0) - for _, v := range conf.Reward { - award = append(award, &pb.UserAssets{ - A: v.A, - T: v.T, - N: v.N, - }) - } } this.module.model.Change(session.GetUserId(), map[string]interface{}{ "islands": info.Islands, }) - session.SendMsg(string(this.module.GetType()), "complete", &pb.StorylineCompleteResp{Level: req.Level, Story: req.Story, Award: award}) + session.SendMsg(string(this.module.GetType()), "complete", &pb.IsLandCompleteResp{Level: req.Level, Award: award}) return } diff --git a/modules/island/configure.go b/modules/island/configure.go index fc6bfc042..d5914c632 100644 --- a/modules/island/configure.go +++ b/modules/island/configure.go @@ -2,6 +2,7 @@ package island import ( "fmt" + "go_dreamfactory/comm" "go_dreamfactory/modules" cfg "go_dreamfactory/sys/configure/structs" @@ -9,11 +10,10 @@ import ( ) const ( - game_item = "game_item.json" - game_potions = "game_potions.json" - - // game_propsgroup = "game_propsgroup.json" - // game_propsgrouplist = "game_propsgrouplist.json" + game_puggsyevent = "game_puggsyevent.json" + game_puggsyskill = "game_puggsyskill.json" + game_puggsyfight = "game_puggsyfight.json" + game_puggsyscore = "game_puggsyscore.json" ) // /背包配置管理组件 @@ -26,22 +26,24 @@ 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.(*IsLand) - err = this.LoadConfigure(game_item, cfg.NewGameItem) - err = this.LoadConfigure(game_potions, cfg.NewGamePotions) + err = this.LoadConfigure(game_puggsyevent, cfg.NewGamePuggsyEvent) + err = this.LoadConfigure(game_puggsyskill, cfg.NewGamePuggsySkill) + err = this.LoadConfigure(game_puggsyfight, cfg.NewGamePuggsyFight) + err = this.LoadConfigure(game_puggsyscore, cfg.NewGamePuggsyScore) return } -// 读取物品配置 -func (this *ConfigureComp) GetMaterialConfigure(id int32) (configure *cfg.GamePotionsData, err error) { +//关卡 +func (this *ConfigureComp) getGamePuggsyEventData(id int32) (configure *cfg.GamePuggsyEventData, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(game_potions); err != nil { + if v, err = this.GetConfigure(game_puggsyevent); err != nil { this.module.Errorf("err:%v", err) return } else { - if configure, ok = v.(*cfg.GamePotions).GetDataMap()[id]; !ok { + if configure, ok = v.(*cfg.GamePuggsyEvent).GetDataMap()[id]; !ok { err = fmt.Errorf("no found Material:%d configure", id) this.module.Errorf("err:%v", err) return @@ -49,3 +51,62 @@ func (this *ConfigureComp) GetMaterialConfigure(id int32) (configure *cfg.GamePo } return } + +//战斗表 +func (this *ConfigureComp) getGamePuggsyFightData(id int32) (configure *cfg.GamePuggsyFightData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_puggsyfight); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + if configure, ok = v.(*cfg.GamePuggsyFight).GetDataMap()[id]; !ok { + err = fmt.Errorf("no found Material:%d configure", id) + this.module.Errorf("err:%v", err) + return + } + } + return +} + +//技能节点 +func (this *ConfigureComp) getGamePuggsySkillData(id int32) (configure *cfg.GamePuggsySkillData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_puggsyskill); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + if configure, ok = v.(*cfg.GamePuggsySkill).GetDataMap()[id]; !ok { + err = fmt.Errorf("no found Material:%d configure", id) + this.module.Errorf("err:%v", err) + return + } + } + return +} + +// 获取伤害对应的评分组 +func (this *ConfigureComp) getGamePuggsyScoreData(harm int32) (results *cfg.GamePuggsyScoreData, err error) { + var ( + v interface{} + ) + + if v, err = this.GetConfigure(game_puggsyscore); err != nil { + return + } else { + for _, v := range v.(*cfg.GamePuggsyScore).GetDataList() { + if harm >= v.RankLow && (harm <= v.RankUp || v.RankUp == -1) { + results = v + return + } + } + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_puggsyscore, fmt.Sprintf(" harm%d", harm)) + this.module.Errorf("err:%v", err) + } + return +} diff --git a/sys/configure/structs/Game.PuggsyEvent.go b/sys/configure/structs/Game.PuggsyEvent.go new file mode 100644 index 000000000..1acad76f3 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyEvent.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 GamePuggsyEvent struct { + _dataMap map[int32]*GamePuggsyEventData + _dataList []*GamePuggsyEventData +} + +func NewGamePuggsyEvent(_buf []map[string]interface{}) (*GamePuggsyEvent, error) { + _dataList := make([]*GamePuggsyEventData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsyEventData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsyEventData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Event] = _v + } + } + return &GamePuggsyEvent{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsyEvent) GetDataMap() map[int32]*GamePuggsyEventData { + return table._dataMap +} + +func (table *GamePuggsyEvent) GetDataList() []*GamePuggsyEventData { + return table._dataList +} + +func (table *GamePuggsyEvent) Get(key int32) *GamePuggsyEventData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsyEventData.go b/sys/configure/structs/Game.PuggsyEventData.go new file mode 100644 index 000000000..25f609671 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyEventData.go @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsyEventData struct { + Event int32 + NodeId int32 + Type int32 + Value int32 + Reward []*Gameatn +} + +const TypeId_GamePuggsyEventData = 1772460253 + +func (*GamePuggsyEventData) GetTypeId() int32 { + return 1772460253 +} + +func (_v *GamePuggsyEventData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["event"].(float64); !_ok_ { err = errors.New("event error"); return }; _v.Event = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_id"].(float64); !_ok_ { err = errors.New("node_id error"); return }; _v.NodeId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } + + _v.Reward = 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.Reward = append(_v.Reward, _list_v_) + } + } + + return +} + +func DeserializeGamePuggsyEventData(_buf map[string]interface{}) (*GamePuggsyEventData, error) { + v := &GamePuggsyEventData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.PuggsyFight.go b/sys/configure/structs/Game.PuggsyFight.go new file mode 100644 index 000000000..937ec9508 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyFight.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 GamePuggsyFight struct { + _dataMap map[int32]*GamePuggsyFightData + _dataList []*GamePuggsyFightData +} + +func NewGamePuggsyFight(_buf []map[string]interface{}) (*GamePuggsyFight, error) { + _dataList := make([]*GamePuggsyFightData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsyFightData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsyFightData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.BossId] = _v + } + } + return &GamePuggsyFight{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsyFight) GetDataMap() map[int32]*GamePuggsyFightData { + return table._dataMap +} + +func (table *GamePuggsyFight) GetDataList() []*GamePuggsyFightData { + return table._dataList +} + +func (table *GamePuggsyFight) Get(key int32) *GamePuggsyFightData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsyFightData.go b/sys/configure/structs/Game.PuggsyFightData.go new file mode 100644 index 000000000..8a136e3f1 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyFightData.go @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsyFightData struct { + BossId int32 + BossName string + BossText string + BattleReadyID int32 + HeroId string + Skill []int32 + Boss []int32 +} + +const TypeId_GamePuggsyFightData = 386540371 + +func (*GamePuggsyFightData) GetTypeId() int32 { + return 386540371 +} + +func (_v *GamePuggsyFightData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_id"].(float64); !_ok_ { err = errors.New("boss_id error"); return }; _v.BossId = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["boss_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BossName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BossName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["boss_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BossText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BossText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) } + { var _ok_ bool; if _v.HeroId, _ok_ = _buf["heroId"].(string); !_ok_ { err = errors.New("heroId error"); return } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["skill"].([]interface{}); !_ok_ { err = errors.New("skill error"); return } + + _v.Skill = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Skill = append(_v.Skill, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["boss"].([]interface{}); !_ok_ { err = errors.New("boss error"); return } + + _v.Boss = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Boss = append(_v.Boss, _list_v_) + } + } + + return +} + +func DeserializeGamePuggsyFightData(_buf map[string]interface{}) (*GamePuggsyFightData, error) { + v := &GamePuggsyFightData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.PuggsyIsLand.go b/sys/configure/structs/Game.PuggsyIsLand.go new file mode 100644 index 000000000..82f74c7a6 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyIsLand.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 GamePuggsyIsLand struct { + _dataMap map[int32]*GamePuggsyIsLandData + _dataList []*GamePuggsyIsLandData +} + +func NewGamePuggsyIsLand(_buf []map[string]interface{}) (*GamePuggsyIsLand, error) { + _dataList := make([]*GamePuggsyIsLandData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsyIsLandData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsyIsLandData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.NodeId] = _v + } + } + return &GamePuggsyIsLand{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsyIsLand) GetDataMap() map[int32]*GamePuggsyIsLandData { + return table._dataMap +} + +func (table *GamePuggsyIsLand) GetDataList() []*GamePuggsyIsLandData { + return table._dataList +} + +func (table *GamePuggsyIsLand) Get(key int32) *GamePuggsyIsLandData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsyIsLandData.go b/sys/configure/structs/Game.PuggsyIsLandData.go new file mode 100644 index 000000000..498a47672 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyIsLandData.go @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsyIsLandData struct { + NodeId int32 + PuggsyName string + Time []int32 + Unlock string + Introduce string +} + +const TypeId_GamePuggsyIsLandData = 36699942 + +func (*GamePuggsyIsLandData) GetTypeId() int32 { + return 36699942 +} + +func (_v *GamePuggsyIsLandData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_id"].(float64); !_ok_ { err = errors.New("node_id error"); return }; _v.NodeId = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["puggsy_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PuggsyName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PuggsyName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["time"].([]interface{}); !_ok_ { err = errors.New("time error"); return } + + _v.Time = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Time = append(_v.Time, _list_v_) + } + } + + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["unlock"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Unlock error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Unlock, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["introduce"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Introduce error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Introduce, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + return +} + +func DeserializeGamePuggsyIsLandData(_buf map[string]interface{}) (*GamePuggsyIsLandData, error) { + v := &GamePuggsyIsLandData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.PuggsyScore.go b/sys/configure/structs/Game.PuggsyScore.go new file mode 100644 index 000000000..4af45642d --- /dev/null +++ b/sys/configure/structs/Game.PuggsyScore.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 GamePuggsyScore struct { + _dataMap map[int32]*GamePuggsyScoreData + _dataList []*GamePuggsyScoreData +} + +func NewGamePuggsyScore(_buf []map[string]interface{}) (*GamePuggsyScore, error) { + _dataList := make([]*GamePuggsyScoreData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsyScoreData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsyScoreData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GamePuggsyScore{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsyScore) GetDataMap() map[int32]*GamePuggsyScoreData { + return table._dataMap +} + +func (table *GamePuggsyScore) GetDataList() []*GamePuggsyScoreData { + return table._dataList +} + +func (table *GamePuggsyScore) Get(key int32) *GamePuggsyScoreData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsyScoreData.go b/sys/configure/structs/Game.PuggsyScoreData.go new file mode 100644 index 000000000..e2cdffb0c --- /dev/null +++ b/sys/configure/structs/Game.PuggsyScoreData.go @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsyScoreData struct { + Id int32 + BossId int32 + RankLow int32 + RankUp int32 + Reward []*Gameatn +} + +const TypeId_GamePuggsyScoreData = -424957739 + +func (*GamePuggsyScoreData) GetTypeId() int32 { + return -424957739 +} + +func (_v *GamePuggsyScoreData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_id"].(float64); !_ok_ { err = errors.New("boss_id error"); return }; _v.BossId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rank_low"].(float64); !_ok_ { err = errors.New("rank_low error"); return }; _v.RankLow = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rank_up"].(float64); !_ok_ { err = errors.New("rank_up error"); return }; _v.RankUp = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } + + _v.Reward = 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.Reward = append(_v.Reward, _list_v_) + } + } + + return +} + +func DeserializeGamePuggsyScoreData(_buf map[string]interface{}) (*GamePuggsyScoreData, error) { + v := &GamePuggsyScoreData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.PuggsySkill.go b/sys/configure/structs/Game.PuggsySkill.go new file mode 100644 index 000000000..c6bc24567 --- /dev/null +++ b/sys/configure/structs/Game.PuggsySkill.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 GamePuggsySkill struct { + _dataMap map[int32]*GamePuggsySkillData + _dataList []*GamePuggsySkillData +} + +func NewGamePuggsySkill(_buf []map[string]interface{}) (*GamePuggsySkill, error) { + _dataList := make([]*GamePuggsySkillData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsySkillData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsySkillData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GamePuggsySkill{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsySkill) GetDataMap() map[int32]*GamePuggsySkillData { + return table._dataMap +} + +func (table *GamePuggsySkill) GetDataList() []*GamePuggsySkillData { + return table._dataList +} + +func (table *GamePuggsySkill) Get(key int32) *GamePuggsySkillData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsySkillData.go b/sys/configure/structs/Game.PuggsySkillData.go new file mode 100644 index 000000000..c953b4172 --- /dev/null +++ b/sys/configure/structs/Game.PuggsySkillData.go @@ -0,0 +1,100 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsySkillData struct { + Id int32 + NodeId int32 + Front []int32 + NodeType int32 + PreNode int32 + NodeDirection int32 + NodeLong int32 + Name string + Comicon string + Lv int32 + CostItem []*Gameatn + AddGroup int32 + AddClassify int32 + Upgrade []*Gameatr +} + +const TypeId_GamePuggsySkillData = -562741996 + +func (*GamePuggsySkillData) GetTypeId() int32 { + return -562741996 +} + +func (_v *GamePuggsySkillData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_id"].(float64); !_ok_ { err = errors.New("node_id error"); return }; _v.NodeId = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["front"].([]interface{}); !_ok_ { err = errors.New("front error"); return } + + _v.Front = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Front = append(_v.Front, _list_v_) + } + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_type"].(float64); !_ok_ { err = errors.New("node_type error"); return }; _v.NodeType = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pre_node"].(float64); !_ok_ { err = errors.New("pre_node error"); return }; _v.PreNode = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_direction"].(float64); !_ok_ { err = errors.New("node_direction error"); return }; _v.NodeDirection = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_long"].(float64); !_ok_ { err = errors.New("node_long error"); return }; _v.NodeLong = int32(_tempNum_) } + {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; if _v.Comicon, _ok_ = _buf["comicon"].(string); !_ok_ { err = errors.New("comicon error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["cost_item"].([]interface{}); !_ok_ { err = errors.New("cost_item error"); return } + + _v.CostItem = 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.CostItem = append(_v.CostItem, _list_v_) + } + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["AddGroup"].(float64); !_ok_ { err = errors.New("AddGroup error"); return }; _v.AddGroup = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["AddClassify"].(float64); !_ok_ { err = errors.New("AddClassify error"); return }; _v.AddClassify = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["upgrade"].([]interface{}); !_ok_ { err = errors.New("upgrade error"); return } + + _v.Upgrade = make([]*Gameatr, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatr + { 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 = DeserializeGameatr(_x_); err != nil { return } } + _v.Upgrade = append(_v.Upgrade, _list_v_) + } + } + + return +} + +func DeserializeGamePuggsySkillData(_buf map[string]interface{}) (*GamePuggsySkillData, error) { + v := &GamePuggsySkillData{} + 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 3189299f9..b2d206427 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -283,6 +283,11 @@ type Tables struct { RepeatAll *GameRepeatAll TDMonster *GameTDMonster TDMonsterAppear *GameTDMonsterAppear + PuggsyIsLand *GamePuggsyIsLand + PuggsyEvent *GamePuggsyEvent + PuggsyFight *GamePuggsyFight + PuggsyScore *GamePuggsyScore + PuggsySkill *GamePuggsySkill } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1922,5 +1927,35 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.TDMonsterAppear, err = NewGameTDMonsterAppear(buf) ; err != nil { return nil, err } + if buf, err = loader("game_puggsyisland") ; err != nil { + return nil, err + } + if tables.PuggsyIsLand, err = NewGamePuggsyIsLand(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_puggsyevent") ; err != nil { + return nil, err + } + if tables.PuggsyEvent, err = NewGamePuggsyEvent(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_puggsyfight") ; err != nil { + return nil, err + } + if tables.PuggsyFight, err = NewGamePuggsyFight(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_puggsyscore") ; err != nil { + return nil, err + } + if tables.PuggsyScore, err = NewGamePuggsyScore(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_puggsyskill") ; err != nil { + return nil, err + } + if tables.PuggsySkill, err = NewGamePuggsySkill(buf) ; err != nil { + return nil, err + } return tables, nil } From c889b45192bd91fad4db716d309e22965c6836f5 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 30 Oct 2023 17:06:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=B5=B7=E7=9B=97?= =?UTF-8?q?=E5=85=BB=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_puggsypasscheck.json | 212 ++++++++++++ modules/island/api_receive.go | 72 +++++ modules/island/api_upgrade.go | 60 ++++ modules/island/configure.go | 23 +- modules/island/model.go | 1 + pb/errorcode.pb.go | 24 +- pb/island_db.pb.go | 104 ++++-- pb/island_msg.pb.go | 306 ++++++++++++++++-- sys/configure/structs/Game.PuggsyPasscheck.go | 42 +++ .../structs/Game.PuggsyPasscheckData.go | 58 ++++ sys/configure/structs/Tables.go | 7 + 11 files changed, 838 insertions(+), 71 deletions(-) create mode 100644 bin/json/game_puggsypasscheck.json create mode 100644 modules/island/api_receive.go create mode 100644 modules/island/api_upgrade.go create mode 100644 sys/configure/structs/Game.PuggsyPasscheck.go create mode 100644 sys/configure/structs/Game.PuggsyPasscheckData.go diff --git a/bin/json/game_puggsypasscheck.json b/bin/json/game_puggsypasscheck.json new file mode 100644 index 000000000..fcd36683c --- /dev/null +++ b/bin/json/game_puggsypasscheck.json @@ -0,0 +1,212 @@ +[ + { + "id": 10001, + "pay_id": "passcheck_1", + "parameter": 5, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10001", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10002, + "pay_id": "passcheck_1", + "parameter": 10, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10002", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10003, + "pay_id": "passcheck_1", + "parameter": 15, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10003", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10004, + "pay_id": "passcheck_1", + "parameter": 20, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10004", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10005, + "pay_id": "passcheck_1", + "parameter": 25, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10005", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10006, + "pay_id": "passcheck_1", + "parameter": 30, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10006", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10007, + "pay_id": "passcheck_1", + "parameter": 35, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10007", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10008, + "pay_id": "passcheck_1", + "parameter": 40, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10008", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10009, + "pay_id": "passcheck_1", + "parameter": 45, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10009", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + }, + { + "id": 10010, + "pay_id": "passcheck_1", + "parameter": 50, + "unlock_text": { + "key": "passcheck_passcheck_unlock_text_10010", + "text": "{0}个地格" + }, + "free_reward": { + "a": "attr", + "t": "diamond", + "n": 30 + }, + "pay_reward": [ + { + "a": "attr", + "t": "diamond", + "n": 300 + } + ] + } +] \ No newline at end of file diff --git a/modules/island/api_receive.go b/modules/island/api_receive.go new file mode 100644 index 000000000..92e857443 --- /dev/null +++ b/modules/island/api_receive.go @@ -0,0 +1,72 @@ +package island + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +// 参数校验 +func (this *apiComp) ReceiveCheck(session comm.IUserSession, req *pb.IsLandReceiveReq) (errdata *pb.ErrorData) { + + return +} + +// /获取系统公告 +func (this *apiComp) Receive(session comm.IUserSession, req *pb.IsLandReceiveReq) (errdata *pb.ErrorData) { + var ( + info *pb.DBIsland + warorder *pb.Warorder + confs []*cfg.GamePuggsyPasscheckData + awards []*cfg.Gameatn + award []*pb.UserAtno + err error + ) + if errdata = this.ReceiveCheck(session, req); errdata != nil { + return + } + if info, err = this.module.model.getmodel(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + if confs, err = this.module.configure.getGamePuggsyPasscheckData(); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + + awards = make([]*cfg.Gameatn, 0) + for _, v := range confs { + if v.Parameter <= int32(len(info.Nodes)) { + if warorder.Freeprogress < v.Parameter { + awards = append(awards, v.FreeReward) + } + if warorder.Vip { + if warorder.Payprogress < v.Parameter { + awards = append(awards, v.PayReward...) + } + } + } + } + warorder.Freeprogress = int32(len(info.Nodes)) + if warorder.Vip { + warorder.Payprogress = int32(len(info.Nodes)) + } + + if errdata, award = this.module.DispenseAtno(session, awards, true); errdata != nil { + return + } + this.module.model.Change(session.GetUserId(), map[string]interface{}{ + "freeprogress": info.Freeprogress, + "payprogress": info.Payprogress, + }) + session.SendMsg(string(this.module.GetType()), "receive", &pb.IsLandReceiveResp{Info: info, Award: award}) + return +} diff --git a/modules/island/api_upgrade.go b/modules/island/api_upgrade.go new file mode 100644 index 000000000..e2a9a73bc --- /dev/null +++ b/modules/island/api_upgrade.go @@ -0,0 +1,60 @@ +package island + +import ( + "fmt" + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +// 参数校验 +func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.IsLandUpgradeReq) (errdata *pb.ErrorData) { + + return +} + +// /获取自己的排行榜信息 +func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.IsLandUpgradeReq) (errdata *pb.ErrorData) { + var ( + info *pb.DBIsland + conf *cfg.GamePuggsySkillData + ok bool + err error + ) + if errdata = this.UpgradeCheck(session, req); errdata != nil { + return + } + if info, err = this.module.model.getmodel(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + if conf, err = this.module.configure.getGamePuggsySkillData(req.Nid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if _, ok = info.Nodes[conf.Id]; ok { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + Message: fmt.Sprintf("%d Unlocked!", conf.Id), + } + return + } + if errdata = this.module.ConsumeRes(session, conf.CostItem, true); errdata != nil { + return + } + info.Nodes[conf.Id] = 1 + this.module.model.Change(session.GetUserId(), map[string]interface{}{ + "nodes": info.Nodes, + }) + session.SendMsg(string(this.module.GetType()), "upgrade", &pb.IsLandUpgradeReq{Nid: conf.NodeId}) + return +} diff --git a/modules/island/configure.go b/modules/island/configure.go index d5914c632..3696f2d08 100644 --- a/modules/island/configure.go +++ b/modules/island/configure.go @@ -10,10 +10,11 @@ import ( ) const ( - game_puggsyevent = "game_puggsyevent.json" - game_puggsyskill = "game_puggsyskill.json" - game_puggsyfight = "game_puggsyfight.json" - game_puggsyscore = "game_puggsyscore.json" + game_puggsyevent = "game_puggsyevent.json" + game_puggsyskill = "game_puggsyskill.json" + game_puggsyfight = "game_puggsyfight.json" + game_puggsyscore = "game_puggsyscore.json" + game_puggsypasscheck = "game_puggsypasscheck.json" ) // /背包配置管理组件 @@ -30,6 +31,7 @@ func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp err = this.LoadConfigure(game_puggsyskill, cfg.NewGamePuggsySkill) err = this.LoadConfigure(game_puggsyfight, cfg.NewGamePuggsyFight) err = this.LoadConfigure(game_puggsyscore, cfg.NewGamePuggsyScore) + err = this.LoadConfigure(game_puggsypasscheck, cfg.NewGamePuggsyPasscheck) return } @@ -110,3 +112,16 @@ func (this *ConfigureComp) getGamePuggsyScoreData(harm int32) (results *cfg.Game } return } + +// 获取伤害对应的评分组 +func (this *ConfigureComp) getGamePuggsyPasscheckData() (results []*cfg.GamePuggsyPasscheckData, err error) { + var ( + v interface{} + ) + if v, err = this.GetConfigure(game_puggsyscore); err != nil { + return + } else { + results = v.(*cfg.GamePuggsyPasscheck).GetDataList() + } + return +} diff --git a/modules/island/model.go b/modules/island/model.go index 1a1897db6..70d23988e 100644 --- a/modules/island/model.go +++ b/modules/island/model.go @@ -38,6 +38,7 @@ func (this *modelComp) getmodel(uid string) (result *pb.DBIsland, err error) { Id: primitive.NewObjectID().Hex(), Uid: uid, Islands: make(map[int32]*pb.DBIslandItem), + Nodes: make(map[int32]int32), } if err = this.Add(uid, result); err != nil { this.module.Errorln(err) diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 3cc651a4d..f619efa7d 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -451,12 +451,10 @@ const ( //捕羊大赛的 ErrorCode_CapturesheepRankCloseed ErrorCode = 5101 //排位比赛不在开启时间内 // xxl - ErrorCode_EntertainCantSwap ErrorCode = 5201 //不能交换 - ErrorCode_EntertainNoPower ErrorCode = 5202 //对方操作 - ErrorCode_EntertainNoHeroSkill ErrorCode = 5203 //没找到该英雄对应的技能 - ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足 - ErrorCode_EntertainCreateFailed ErrorCode = 5205 // 创建房间失败 - ErrorCode_EntertainPlayerNoReady ErrorCode = 5206 // 玩家1还没准备不能开始游戏 + ErrorCode_EntertainCantSwap ErrorCode = 5201 //不能交换 + ErrorCode_EntertainNoPower ErrorCode = 5202 //对方操作 + ErrorCode_EntertainNoHeroSkill ErrorCode = 5203 //没找到该英雄对应的技能 + ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足 ) // Enum value maps for ErrorCode. @@ -849,8 +847,6 @@ var ( 5202: "EntertainNoPower", 5203: "EntertainNoHeroSkill", 5204: "EntertainNoEnergy", - 5205: "EntertainCreateFailed", - 5206: "EntertainPlayerNoReady", } ErrorCode_value = map[string]int32{ "Success": 0, @@ -1240,8 +1236,6 @@ var ( "EntertainNoPower": 5202, "EntertainNoHeroSkill": 5203, "EntertainNoEnergy": 5204, - "EntertainCreateFailed": 5205, - "EntertainPlayerNoReady": 5206, } ) @@ -1276,7 +1270,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0x9d, 0x48, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xe4, 0x47, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, @@ -1850,12 +1844,8 @@ var file_errorcode_proto_rawDesc = []byte{ 0x65, 0x72, 0x10, 0xd2, 0x28, 0x12, 0x19, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x10, 0xd3, 0x28, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x45, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0xd4, 0x28, 0x12, 0x1a, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, - 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x10, 0xd5, 0x28, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, - 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0xd6, - 0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0xd4, 0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/island_db.pb.go b/pb/island_db.pb.go index d7e733240..140825a2a 100644 --- a/pb/island_db.pb.go +++ b/pb/island_db.pb.go @@ -25,9 +25,13 @@ type DBIsland struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` - Islands map[int32]*DBIslandItem `protobuf:"bytes,4,rep,name=islands,proto3" json:"islands" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //岛屿 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` + Islands map[int32]*DBIslandItem `protobuf:"bytes,4,rep,name=islands,proto3" json:"islands" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //岛屿 + Nodes map[int32]int32 `protobuf:"bytes,5,rep,name=nodes,proto3" json:"nodes" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //养成节点 + Freeprogress int32 `protobuf:"varint,6,opt,name=freeprogress,proto3" json:"freeprogress"` //已领取天数 + Payprogress int32 `protobuf:"varint,7,opt,name=payprogress,proto3" json:"payprogress"` + Vip bool `protobuf:"varint,8,opt,name=vip,proto3" json:"vip"` } func (x *DBIsland) Reset() { @@ -83,6 +87,34 @@ func (x *DBIsland) GetIslands() map[int32]*DBIslandItem { return nil } +func (x *DBIsland) GetNodes() map[int32]int32 { + if x != nil { + return x.Nodes + } + return nil +} + +func (x *DBIsland) GetFreeprogress() int32 { + if x != nil { + return x.Freeprogress + } + return 0 +} + +func (x *DBIsland) GetPayprogress() int32 { + if x != nil { + return x.Payprogress + } + return 0 +} + +func (x *DBIsland) GetVip() bool { + if x != nil { + return x.Vip + } + return false +} + //海岛地图 type DBIslandItem struct { state protoimpl.MessageState @@ -143,27 +175,39 @@ var File_island_island_db_proto protoreflect.FileDescriptor var file_island_island_db_proto_rawDesc = []byte{ 0x0a, 0x16, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x2f, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x5f, - 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x49, + 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x02, 0x0a, 0x08, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x2e, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x49, 0x0a, 0x0c, 0x49, 0x73, 0x6c, - 0x61, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x49, - 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, - 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x07, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, + 0x61, 0x6e, 0x64, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x72, 0x65, 0x65, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x65, + 0x65, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x70, 0x61, 0x79, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x76, + 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, 0x69, 0x70, 0x1a, 0x49, 0x0a, + 0x0c, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, 0x74, 0x65, + 0x6d, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -178,22 +222,24 @@ func file_island_island_db_proto_rawDescGZIP() []byte { return file_island_island_db_proto_rawDescData } -var file_island_island_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_island_island_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_island_island_db_proto_goTypes = []interface{}{ (*DBIsland)(nil), // 0: DBIsland (*DBIslandItem)(nil), // 1: DBIslandItem nil, // 2: DBIsland.IslandsEntry - nil, // 3: DBIslandItem.LevelEntry + nil, // 3: DBIsland.NodesEntry + nil, // 4: DBIslandItem.LevelEntry } var file_island_island_db_proto_depIdxs = []int32{ 2, // 0: DBIsland.islands:type_name -> DBIsland.IslandsEntry - 3, // 1: DBIslandItem.level:type_name -> DBIslandItem.LevelEntry - 1, // 2: DBIsland.IslandsEntry.value:type_name -> DBIslandItem - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 3, // 1: DBIsland.nodes:type_name -> DBIsland.NodesEntry + 4, // 2: DBIslandItem.level:type_name -> DBIslandItem.LevelEntry + 1, // 3: DBIsland.IslandsEntry.value:type_name -> DBIslandItem + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_island_island_db_proto_init() } @@ -233,7 +279,7 @@ func file_island_island_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_island_island_db_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/island_msg.pb.go b/pb/island_msg.pb.go index e17d5c1e2..4466eee06 100644 --- a/pb/island_msg.pb.go +++ b/pb/island_msg.pb.go @@ -354,6 +354,204 @@ func (x *IsLandCompleteResp) GetAward() []*UserAtno { return nil } +//升级节点 +type IsLandUpgradeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nid int32 `protobuf:"varint,1,opt,name=nid,proto3" json:"nid"` //配置文件里的Id 升级的目标数据 +} + +func (x *IsLandUpgradeReq) Reset() { + *x = IsLandUpgradeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_island_island_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsLandUpgradeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsLandUpgradeReq) ProtoMessage() {} + +func (x *IsLandUpgradeReq) ProtoReflect() protoreflect.Message { + mi := &file_island_island_msg_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsLandUpgradeReq.ProtoReflect.Descriptor instead. +func (*IsLandUpgradeReq) Descriptor() ([]byte, []int) { + return file_island_island_msg_proto_rawDescGZIP(), []int{6} +} + +func (x *IsLandUpgradeReq) GetNid() int32 { + if x != nil { + return x.Nid + } + return 0 +} + +//升级节点 +type IsLandUpgradeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nid int32 `protobuf:"varint,1,opt,name=nid,proto3" json:"nid"` //成长线id 配置文件里面的 节点 字段 + Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv"` +} + +func (x *IsLandUpgradeResp) Reset() { + *x = IsLandUpgradeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_island_island_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsLandUpgradeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsLandUpgradeResp) ProtoMessage() {} + +func (x *IsLandUpgradeResp) ProtoReflect() protoreflect.Message { + mi := &file_island_island_msg_proto_msgTypes[7] + 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 IsLandUpgradeResp.ProtoReflect.Descriptor instead. +func (*IsLandUpgradeResp) Descriptor() ([]byte, []int) { + return file_island_island_msg_proto_rawDescGZIP(), []int{7} +} + +func (x *IsLandUpgradeResp) GetNid() int32 { + if x != nil { + return x.Nid + } + return 0 +} + +func (x *IsLandUpgradeResp) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +// 战令奖励领取 +type IsLandReceiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IsLandReceiveReq) Reset() { + *x = IsLandReceiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_island_island_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsLandReceiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsLandReceiveReq) ProtoMessage() {} + +func (x *IsLandReceiveReq) ProtoReflect() protoreflect.Message { + mi := &file_island_island_msg_proto_msgTypes[8] + 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 IsLandReceiveReq.ProtoReflect.Descriptor instead. +func (*IsLandReceiveReq) Descriptor() ([]byte, []int) { + return file_island_island_msg_proto_rawDescGZIP(), []int{8} +} + +type IsLandReceiveResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info *DBIsland `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + Award []*UserAtno `protobuf:"bytes,4,rep,name=award,proto3" json:"award"` //奖励 +} + +func (x *IsLandReceiveResp) Reset() { + *x = IsLandReceiveResp{} + if protoimpl.UnsafeEnabled { + mi := &file_island_island_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsLandReceiveResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsLandReceiveResp) ProtoMessage() {} + +func (x *IsLandReceiveResp) ProtoReflect() protoreflect.Message { + mi := &file_island_island_msg_proto_msgTypes[9] + 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 IsLandReceiveResp.ProtoReflect.Descriptor instead. +func (*IsLandReceiveResp) Descriptor() ([]byte, []int) { + return file_island_island_msg_proto_rawDescGZIP(), []int{9} +} + +func (x *IsLandReceiveResp) GetInfo() *DBIsland { + if x != nil { + return x.Info + } + return nil +} + +func (x *IsLandReceiveResp) GetAward() []*UserAtno { + if x != nil { + return x.Award + } + return nil +} + var File_island_island_msg_proto protoreflect.FileDescriptor var file_island_island_msg_proto_rawDesc = []byte{ @@ -392,8 +590,20 @@ var file_island_island_msg_proto_rawDesc = []byte{ 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, - 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x77, 0x61, 0x72, 0x64, 0x22, 0x24, 0x0a, 0x10, 0x49, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x69, 0x64, 0x22, 0x35, 0x0a, 0x11, 0x49, 0x73, + 0x4c, 0x61, 0x6e, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x69, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, + 0x76, 0x22, 0x12, 0x0a, 0x10, 0x49, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x52, 0x65, 0x71, 0x22, 0x53, 0x0a, 0x11, 0x49, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x49, 0x73, 0x6c, + 0x61, 0x6e, 0x64, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -408,7 +618,7 @@ func file_island_island_msg_proto_rawDescGZIP() []byte { return file_island_island_msg_proto_rawDescData } -var file_island_island_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_island_island_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_island_island_msg_proto_goTypes = []interface{}{ (*IsLandInfoReq)(nil), // 0: IsLandInfoReq (*IsLandInfoResp)(nil), // 1: IsLandInfoResp @@ -416,25 +626,31 @@ var file_island_island_msg_proto_goTypes = []interface{}{ (*IsLandBattleResp)(nil), // 3: IsLandBattleResp (*IsLandCompleteReq)(nil), // 4: IsLandCompleteReq (*IsLandCompleteResp)(nil), // 5: IsLandCompleteResp - (*DBIsland)(nil), // 6: DBIsland - (*DBHero)(nil), // 7: DBHero - (*BattleFormation)(nil), // 8: BattleFormation - (*BattleInfo)(nil), // 9: BattleInfo - (*BattleReport)(nil), // 10: BattleReport - (*UserAtno)(nil), // 11: UserAtno + (*IsLandUpgradeReq)(nil), // 6: IsLandUpgradeReq + (*IsLandUpgradeResp)(nil), // 7: IsLandUpgradeResp + (*IsLandReceiveReq)(nil), // 8: IsLandReceiveReq + (*IsLandReceiveResp)(nil), // 9: IsLandReceiveResp + (*DBIsland)(nil), // 10: DBIsland + (*DBHero)(nil), // 11: DBHero + (*BattleFormation)(nil), // 12: BattleFormation + (*BattleInfo)(nil), // 13: BattleInfo + (*BattleReport)(nil), // 14: BattleReport + (*UserAtno)(nil), // 15: UserAtno } var file_island_island_msg_proto_depIdxs = []int32{ - 6, // 0: IsLandInfoResp.info:type_name -> DBIsland - 7, // 1: IsLandInfoResp.heros:type_name -> DBHero - 8, // 2: IsLandBattleReq.battle:type_name -> BattleFormation - 9, // 3: IsLandBattleResp.info:type_name -> BattleInfo - 10, // 4: IsLandCompleteReq.report:type_name -> BattleReport - 11, // 5: IsLandCompleteResp.award:type_name -> UserAtno - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 10, // 0: IsLandInfoResp.info:type_name -> DBIsland + 11, // 1: IsLandInfoResp.heros:type_name -> DBHero + 12, // 2: IsLandBattleReq.battle:type_name -> BattleFormation + 13, // 3: IsLandBattleResp.info:type_name -> BattleInfo + 14, // 4: IsLandCompleteReq.report:type_name -> BattleReport + 15, // 5: IsLandCompleteResp.award:type_name -> UserAtno + 10, // 6: IsLandReceiveResp.info:type_name -> DBIsland + 15, // 7: IsLandReceiveResp.award:type_name -> UserAtno + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_island_island_msg_proto_init() } @@ -519,6 +735,54 @@ func file_island_island_msg_proto_init() { return nil } } + file_island_island_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IsLandUpgradeReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_island_island_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IsLandUpgradeResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_island_island_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IsLandReceiveReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_island_island_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IsLandReceiveResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -526,7 +790,7 @@ func file_island_island_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_island_island_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.PuggsyPasscheck.go b/sys/configure/structs/Game.PuggsyPasscheck.go new file mode 100644 index 000000000..b657b1448 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyPasscheck.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 GamePuggsyPasscheck struct { + _dataMap map[int32]*GamePuggsyPasscheckData + _dataList []*GamePuggsyPasscheckData +} + +func NewGamePuggsyPasscheck(_buf []map[string]interface{}) (*GamePuggsyPasscheck, error) { + _dataList := make([]*GamePuggsyPasscheckData, 0, len(_buf)) + dataMap := make(map[int32]*GamePuggsyPasscheckData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamePuggsyPasscheckData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GamePuggsyPasscheck{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePuggsyPasscheck) GetDataMap() map[int32]*GamePuggsyPasscheckData { + return table._dataMap +} + +func (table *GamePuggsyPasscheck) GetDataList() []*GamePuggsyPasscheckData { + return table._dataList +} + +func (table *GamePuggsyPasscheck) Get(key int32) *GamePuggsyPasscheckData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.PuggsyPasscheckData.go b/sys/configure/structs/Game.PuggsyPasscheckData.go new file mode 100644 index 000000000..9f98f1965 --- /dev/null +++ b/sys/configure/structs/Game.PuggsyPasscheckData.go @@ -0,0 +1,58 @@ +//------------------------------------------------------------------------------ +// +// 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 GamePuggsyPasscheckData struct { + Id int32 + PayId string + Parameter int32 + UnlockText string + FreeReward *Gameatn + PayReward []*Gameatn +} + +const TypeId_GamePuggsyPasscheckData = 2074500826 + +func (*GamePuggsyPasscheckData) GetTypeId() int32 { + return 2074500826 +} + +func (_v *GamePuggsyPasscheckData)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.PayId, _ok_ = _buf["pay_id"].(string); !_ok_ { err = errors.New("pay_id error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["parameter"].(float64); !_ok_ { err = errors.New("parameter error"); return }; _v.Parameter = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["unlock_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.UnlockText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.UnlockText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["free_reward"].(map[string]interface{}); !_ok_ { err = errors.New("free_reward error"); return }; if _v.FreeReward, err = DeserializeGameatn(_x_); err != nil { return } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["pay_reward"].([]interface{}); !_ok_ { err = errors.New("pay_reward error"); return } + + _v.PayReward = 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.PayReward = append(_v.PayReward, _list_v_) + } + } + + return +} + +func DeserializeGamePuggsyPasscheckData(_buf map[string]interface{}) (*GamePuggsyPasscheckData, error) { + v := &GamePuggsyPasscheckData{} + 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 b2d206427..9c33551de 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -288,6 +288,7 @@ type Tables struct { PuggsyFight *GamePuggsyFight PuggsyScore *GamePuggsyScore PuggsySkill *GamePuggsySkill + PuggsyPasscheck *GamePuggsyPasscheck } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1957,5 +1958,11 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.PuggsySkill, err = NewGamePuggsySkill(buf) ; err != nil { return nil, err } + if buf, err = loader("game_puggsypasscheck") ; err != nil { + return nil, err + } + if tables.PuggsyPasscheck, err = NewGamePuggsyPasscheck(buf) ; err != nil { + return nil, err + } return tables, nil } From 18ccd3ca0d6293616485c2c3f238bfd7a0751d2d Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 30 Oct 2023 17:09:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=B5=B7=E7=9B=97?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/island/module.go | 2 +- pb/errorcode.pb.go | 24 +++++++++++++++++------- services/worker/main.go | 2 ++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/modules/island/module.go b/modules/island/module.go index cba5fc0f8..abf3f2938 100644 --- a/modules/island/module.go +++ b/modules/island/module.go @@ -28,7 +28,7 @@ type IsLand struct { } func (this *IsLand) GetType() core.M_Modules { - return comm.ModuleGameInvite + return comm.ModuleIsLand } func (this *IsLand) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index f619efa7d..3cc651a4d 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -451,10 +451,12 @@ const ( //捕羊大赛的 ErrorCode_CapturesheepRankCloseed ErrorCode = 5101 //排位比赛不在开启时间内 // xxl - ErrorCode_EntertainCantSwap ErrorCode = 5201 //不能交换 - ErrorCode_EntertainNoPower ErrorCode = 5202 //对方操作 - ErrorCode_EntertainNoHeroSkill ErrorCode = 5203 //没找到该英雄对应的技能 - ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足 + ErrorCode_EntertainCantSwap ErrorCode = 5201 //不能交换 + ErrorCode_EntertainNoPower ErrorCode = 5202 //对方操作 + ErrorCode_EntertainNoHeroSkill ErrorCode = 5203 //没找到该英雄对应的技能 + ErrorCode_EntertainNoEnergy ErrorCode = 5204 //技能能量不足 + ErrorCode_EntertainCreateFailed ErrorCode = 5205 // 创建房间失败 + ErrorCode_EntertainPlayerNoReady ErrorCode = 5206 // 玩家1还没准备不能开始游戏 ) // Enum value maps for ErrorCode. @@ -847,6 +849,8 @@ var ( 5202: "EntertainNoPower", 5203: "EntertainNoHeroSkill", 5204: "EntertainNoEnergy", + 5205: "EntertainCreateFailed", + 5206: "EntertainPlayerNoReady", } ErrorCode_value = map[string]int32{ "Success": 0, @@ -1236,6 +1240,8 @@ var ( "EntertainNoPower": 5202, "EntertainNoHeroSkill": 5203, "EntertainNoEnergy": 5204, + "EntertainCreateFailed": 5205, + "EntertainPlayerNoReady": 5206, } ) @@ -1270,7 +1276,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xe4, 0x47, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0x9d, 0x48, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, @@ -1844,8 +1850,12 @@ var file_errorcode_proto_rawDesc = []byte{ 0x65, 0x72, 0x10, 0xd2, 0x28, 0x12, 0x19, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x10, 0xd3, 0x28, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x45, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0xd4, 0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0xd4, 0x28, 0x12, 0x1a, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0xd5, 0x28, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0xd6, + 0x28, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/services/worker/main.go b/services/worker/main.go index fea7f9c3a..9b738acb9 100644 --- a/services/worker/main.go +++ b/services/worker/main.go @@ -36,6 +36,7 @@ import ( "go_dreamfactory/modules/herotask" "go_dreamfactory/modules/horoscope" "go_dreamfactory/modules/hunting" + "go_dreamfactory/modules/island" "go_dreamfactory/modules/items" "go_dreamfactory/modules/jielong" "go_dreamfactory/modules/kftask" @@ -180,6 +181,7 @@ func main() { treasuremap.NewModule(), gameinvite.NewModule(), caninerabbit.NewModule(), + island.NewModule(), ) }