diff --git a/bin/json/game_exclusiverank.json b/bin/json/game_exclusiverank.json
new file mode 100644
index 000000000..84434b115
--- /dev/null
+++ b/bin/json/game_exclusiverank.json
@@ -0,0 +1,74 @@
+[
+ {
+ "id": 1,
+ "weaponid": 100001,
+ "rank": 1,
+ "lvmax": 10,
+ "cost": []
+ },
+ {
+ "id": 2,
+ "weaponid": 100001,
+ "rank": 2,
+ "lvmax": 20,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 13000
+ }
+ ]
+ },
+ {
+ "id": 3,
+ "weaponid": 100001,
+ "rank": 3,
+ "lvmax": 30,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 14000
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "weaponid": 100001,
+ "rank": 4,
+ "lvmax": 40,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 15000
+ }
+ ]
+ },
+ {
+ "id": 5,
+ "weaponid": 100001,
+ "rank": 5,
+ "lvmax": 50,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 16000
+ }
+ ]
+ },
+ {
+ "id": 6,
+ "weaponid": 100001,
+ "rank": 6,
+ "lvmax": 60,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 17000
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_exclusivestar.json b/bin/json/game_exclusivestar.json
new file mode 100644
index 000000000..e55619377
--- /dev/null
+++ b/bin/json/game_exclusivestar.json
@@ -0,0 +1,62 @@
+[
+ {
+ "id": 1,
+ "weaponid": 100001,
+ "star": 1,
+ "commonskill": 10001,
+ "exclusiveskill": 20001,
+ "cost1": {
+ "a": "ExclusiveWeapon",
+ "t": "100001",
+ "n": 0
+ }
+ },
+ {
+ "id": 2,
+ "weaponid": 100001,
+ "star": 2,
+ "commonskill": 10002,
+ "exclusiveskill": 20002,
+ "cost1": {
+ "a": "ExclusiveWeapon",
+ "t": "100001",
+ "n": 1
+ }
+ },
+ {
+ "id": 3,
+ "weaponid": 100001,
+ "star": 3,
+ "commonskill": 10003,
+ "exclusiveskill": 20003,
+ "cost1": {
+ "a": "ExclusiveWeapon",
+ "t": "100001",
+ "n": 1
+ }
+ },
+ {
+ "id": 4,
+ "weaponid": 100001,
+ "star": 4,
+ "commonskill": 10004,
+ "exclusiveskill": 20004,
+ "cost1": {
+ "a": "ExclusiveWeapon",
+ "t": "100001",
+ "n": 1
+ }
+ },
+ {
+ "id": 5,
+ "weaponid": 100001,
+ "star": 5,
+ "commonskill": 10005,
+ "exclusiveskill": 20005,
+ "cost1": {
+ "a": "ExclusiveWeapon",
+ "t": "100001",
+ "n": 1
+ }
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_exclusiveupgrade.json b/bin/json/game_exclusiveupgrade.json
new file mode 100644
index 000000000..a280bc269
--- /dev/null
+++ b/bin/json/game_exclusiveupgrade.json
@@ -0,0 +1,236 @@
+[
+ {
+ "id": 1,
+ "weaponid": 100001,
+ "lv": 1,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 100
+ },
+ {
+ "a": 53,
+ "n": 1000
+ }
+ ],
+ "needexp": 0,
+ "cost": [],
+ "change": 500
+ },
+ {
+ "id": 2,
+ "weaponid": 100001,
+ "lv": 2,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 105
+ },
+ {
+ "a": 53,
+ "n": 1200
+ }
+ ],
+ "needexp": 1000,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 13000
+ }
+ ],
+ "change": 1500
+ },
+ {
+ "id": 3,
+ "weaponid": 100001,
+ "lv": 3,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 110
+ },
+ {
+ "a": 53,
+ "n": 1400
+ }
+ ],
+ "needexp": 1200,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 14000
+ }
+ ],
+ "change": 1700
+ },
+ {
+ "id": 4,
+ "weaponid": 100001,
+ "lv": 4,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 115
+ },
+ {
+ "a": 53,
+ "n": 1600
+ }
+ ],
+ "needexp": 1400,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 15000
+ }
+ ],
+ "change": 1900
+ },
+ {
+ "id": 5,
+ "weaponid": 100001,
+ "lv": 5,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 120
+ },
+ {
+ "a": 53,
+ "n": 1800
+ }
+ ],
+ "needexp": 1600,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 16000
+ }
+ ],
+ "change": 2100
+ },
+ {
+ "id": 6,
+ "weaponid": 100001,
+ "lv": 6,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 125
+ },
+ {
+ "a": 53,
+ "n": 2000
+ }
+ ],
+ "needexp": 1800,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 17000
+ }
+ ],
+ "change": 2300
+ },
+ {
+ "id": 7,
+ "weaponid": 100001,
+ "lv": 7,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 130
+ },
+ {
+ "a": 53,
+ "n": 2200
+ }
+ ],
+ "needexp": 2000,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 18000
+ }
+ ],
+ "change": 2500
+ },
+ {
+ "id": 8,
+ "weaponid": 100001,
+ "lv": 8,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 135
+ },
+ {
+ "a": 53,
+ "n": 2400
+ }
+ ],
+ "needexp": 2200,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 19000
+ }
+ ],
+ "change": 2700
+ },
+ {
+ "id": 9,
+ "weaponid": 100001,
+ "lv": 9,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 140
+ },
+ {
+ "a": 53,
+ "n": 2600
+ }
+ ],
+ "needexp": 2400,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 20000
+ }
+ ],
+ "change": 2900
+ },
+ {
+ "id": 10,
+ "weaponid": 100001,
+ "lv": 10,
+ "attribute": [
+ {
+ "a": 56,
+ "n": 145
+ },
+ {
+ "a": 53,
+ "n": 2800
+ }
+ ],
+ "needexp": 2600,
+ "cost": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 21000
+ }
+ ],
+ "change": 3100
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_exclusiveweapon.json b/bin/json/game_exclusiveweapon.json
new file mode 100644
index 000000000..b215c279d
--- /dev/null
+++ b/bin/json/game_exclusiveweapon.json
@@ -0,0 +1,150 @@
+[
+ {
+ "weaponid": 100001,
+ "heroid": 25001,
+ "name": {
+ "key": "text01",
+ "text": "阿宝专武"
+ },
+ "color": 5,
+ "icon": "img",
+ "attribute": [
+ {
+ "a": 56,
+ "n": 100
+ },
+ {
+ "a": 53,
+ "n": 1000
+ }
+ ],
+ "commonskill": 25000001,
+ "exclusiveskill": 35000001
+ },
+ {
+ "weaponid": 100002,
+ "heroid": 25002,
+ "name": {
+ "key": "text02",
+ "text": "邦尼兔专武"
+ },
+ "color": 4,
+ "icon": "img",
+ "attribute": [
+ {
+ "a": 56,
+ "n": 60
+ },
+ {
+ "a": 59,
+ "n": 800
+ }
+ ],
+ "commonskill": 25000002,
+ "exclusiveskill": 35000002
+ },
+ {
+ "weaponid": 100003,
+ "heroid": 25003,
+ "name": {
+ "key": "text03",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100004,
+ "heroid": 25004,
+ "name": {
+ "key": "text04",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100005,
+ "heroid": 25005,
+ "name": {
+ "key": "text05",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100006,
+ "heroid": 25006,
+ "name": {
+ "key": "text06",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100007,
+ "heroid": 25007,
+ "name": {
+ "key": "text07",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100008,
+ "heroid": 25008,
+ "name": {
+ "key": "text08",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100009,
+ "heroid": 25009,
+ "name": {
+ "key": "text09",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ },
+ {
+ "weaponid": 100010,
+ "heroid": 25010,
+ "name": {
+ "key": "text10",
+ "text": ""
+ },
+ "color": 0,
+ "icon": "",
+ "attribute": [],
+ "commonskill": 0,
+ "exclusiveskill": 0
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_guide.json b/bin/json/game_guide.json
index 86e91ed84..4b7d1e224 100644
--- a/bin/json/game_guide.json
+++ b/bin/json/game_guide.json
@@ -1554,7 +1554,7 @@
},
"txt": "1000138",
"txtoffset": {
- "x": 0,
+ "x": -200,
"y": 100
},
"speakerface": 0,
diff --git a/bin/json/game_item.json b/bin/json/game_item.json
index e69fe98ec..3d3711221 100644
--- a/bin/json/game_item.json
+++ b/bin/json/game_item.json
@@ -48671,7 +48671,7 @@
"img": "item_25010006",
"intr": {
"key": "item_item_intr_25010006",
- "text": "菲奥娜的袜子"
+ "text": "腥臭难闻的一双破袜子,其实是戈伯的袜子。拿这个去骗胡德先生吧。"
},
"describe": {
"key": "",
@@ -48712,7 +48712,7 @@
"img": "item_25010007",
"intr": {
"key": "item_item_intr_25010007",
- "text": "驯龙笔记"
+ "text": "这本笔记原本的纸页早已写满,中间还夹塞了许多新纸页,上面密密麻麻记载了各种龙的习性以及配图。"
},
"describe": {
"key": "",
@@ -48753,7 +48753,7 @@
"img": "item_25010008",
"intr": {
"key": "item_item_intr_25010008",
- "text": "陈旧的靴子"
+ "text": "一双精致的小靴子,皮革上等,针线也非常细密。可惜使用者不甚爱惜,使它看上去颇为破旧。"
},
"describe": {
"key": "",
@@ -48794,7 +48794,7 @@
"img": "item_25010009",
"intr": {
"key": "item_item_intr_25010009",
- "text": "毛线球"
+ "text": "一团随处可见的毛线球,似乎是由猫毛缠绕而成,对于巨怪们来说它有非同一般的吸引力。"
},
"describe": {
"key": "",
diff --git a/bin/json/game_mainstage.json b/bin/json/game_mainstage.json
index 6f194973a..6d5dae709 100644
--- a/bin/json/game_mainstage.json
+++ b/bin/json/game_mainstage.json
@@ -44498,10 +44498,8 @@
"key": "",
"text": ""
},
- "venturetype": 1,
- "ventureavatar": [
- "Person/45003/45003_q.prefab"
- ],
+ "venturetype": 0,
+ "ventureavatar": [],
"scene_effect": [
"heiwu3"
],
@@ -44575,7 +44573,7 @@
{
"id": 1202009,
"chapterid": 12002,
- "group_id": 200209,
+ "group_id": 2002081,
"previous_group_id": [
200208
],
@@ -44583,6 +44581,91 @@
"buried_type": 0,
"buried": 0,
"grouptype": [],
+ "Episodetype": 3,
+ "stage_param": 0,
+ "inherit": false,
+ "battle_fail": false,
+ "venturemodelspeed": 0,
+ "venturemodelscale": 0,
+ "move_type": 0,
+ "venturemodel": "",
+ "bubbletalk": {
+ "key": "",
+ "text": ""
+ },
+ "venturetype": 1,
+ "ventureavatar": [
+ "Person/45003/45003_q.prefab"
+ ],
+ "scene_effect": [
+ "heiwu3"
+ ],
+ "scene_effectfilter": "",
+ "is_near": false,
+ "openlevel": 1,
+ "EditorStage": 0,
+ "herocolor": 1,
+ "heroimg": "zxgq_qp_icon_gth",
+ "bubbletext": {
+ "key": "",
+ "text": ""
+ },
+ "animation": [],
+ "prewarbubbletext": {
+ "key": "",
+ "text": ""
+ },
+ "hide": false,
+ "destroy": true,
+ "progress": 1,
+ "timelineplayer": false,
+ "stroyshow": false,
+ "frontstoryid": 402121,
+ "afterstoryid": 0,
+ "maingroupName": {
+ "key": "",
+ "text": ""
+ },
+ "maingroupIcon": "",
+ "mainlineName": {
+ "key": "",
+ "text": ""
+ },
+ "title": {
+ "key": "",
+ "text": ""
+ },
+ "desc": {
+ "key": "",
+ "text": ""
+ },
+ "exp": 0,
+ "hero_exp": 0,
+ "ps_consume": [],
+ "ps_mg": [],
+ "firstaward": [],
+ "lotteryward": 0,
+ "commonaward": [],
+ "BattleReadyID": 0,
+ "FormatList": [],
+ "helphero": [],
+ "banhero": [],
+ "star": [],
+ "star_type": [],
+ "star_value": [],
+ "challengeward": 0
+ },
+ {
+ "id": 1202010,
+ "chapterid": 12002,
+ "group_id": 200209,
+ "previous_group_id": [
+ 2002081
+ ],
+ "previoustage": 0,
+ "buried_type": 0,
+ "buried": 0,
+ "grouptype": [],
"Episodetype": 7,
"stage_param": 0,
"inherit": false,
@@ -44670,7 +44753,7 @@
"challengeward": 0
},
{
- "id": 1202010,
+ "id": 1202011,
"chapterid": 12002,
"group_id": 200210,
"previous_group_id": [
@@ -44789,7 +44872,7 @@
"challengeward": 0
},
{
- "id": 1202011,
+ "id": 1202012,
"chapterid": 12002,
"group_id": 200211,
"previous_group_id": [
@@ -44908,7 +44991,7 @@
"challengeward": 0
},
{
- "id": 1202012,
+ "id": 1202013,
"chapterid": 12002,
"group_id": 200211,
"previous_group_id": [
@@ -45027,7 +45110,7 @@
"challengeward": 0
},
{
- "id": 1202013,
+ "id": 1202014,
"chapterid": 12002,
"group_id": 200212,
"previous_group_id": [
@@ -45108,7 +45191,7 @@
"challengeward": 0
},
{
- "id": 1202014,
+ "id": 1202015,
"chapterid": 12002,
"group_id": 200213,
"previous_group_id": [
diff --git a/bin/json/game_puggsyfight.json b/bin/json/game_puggsyfight.json
index 839c227e1..cb47bb233 100644
--- a/bin/json/game_puggsyfight.json
+++ b/bin/json/game_puggsyfight.json
@@ -3,13 +3,13 @@
"boss_id": 810301,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_1",
- "text": "胡德先生"
+ "text": "火焰泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_1",
- "text": "他是一名懦弱的战士"
+ "text": "火焰泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【火岩熔心】会优先攻击队长目标,队长目标防御越弱伤害越高,因此队长需要放置防御值高的守护者,将有利于减少伤害。【熔岩迸发】会给全体目标附加【炽热岩浆】效果。当火焰泰坦释放【熔岩爆裂】时会引爆所有【炙热岩浆】效果,对敌人造成巨大伤害。【炙热岩浆】只能通过增益效果和净化消除,在释放【熔岩爆裂】前尽可能多的消除【炙热岩浆】效果,积攒更多花瓣,可使得火焰泰坦进入破防状态,且得分数倍率也将获得提高。因此使用能多上增益效果和拥有净化能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4101,
"heroId": "33003",
"skill": [
155005111,
@@ -17,20 +17,20 @@
155005311
],
"boss": [
- 810301
+ 1430001
]
},
{
"boss_id": 810302,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_2",
- "text": "胡德先生"
+ "text": "冰霜泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_2",
- "text": "他是一名懦弱的战士"
+ "text": "冰霜泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【冰寒彻骨】会优先攻击队长目标,队长目标当前血量越低伤害越高,因此队长需要放置血量高的守护者,将有利于减少伤害。【寒风凛冽】会给全体目标附加【寒骨冰棱】效果。当冰霜泰坦释放【冰霜呼啸】时会引爆所有【寒骨冰棱】效果,对敌人造成巨大伤害。【寒骨冰棱】只能通过减益效果和治疗消除,在释放【冰霜呼啸】前尽可能多的消除【寒骨冰棱】效果,积攒更多花瓣,可使得冰霜泰坦进入破防状态,且得分数倍率也将获得提高。因此使用能多上减益效果和拥有治疗能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4201,
"heroId": "33003",
"skill": [
155007111,
@@ -38,20 +38,20 @@
155007311
],
"boss": [
- 810302
+ 1430002
]
},
{
"boss_id": 810303,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_3",
- "text": "胡德先生"
+ "text": "森林泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_3",
- "text": "他是一名懦弱的战士"
+ "text": "森林泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【荆棘窒息】会优先攻击队长目标,队长目标速度越低伤害越高,因此队长需要放置速度高的守护者,将有利于减少伤害。【盘根错节】会给全体目标附加【疯缠树枝】效果。当森林泰坦释放【藤蔓狂舞】时会引爆所有【疯缠树枝】效果,对敌人造成巨大伤害。【疯缠树枝】只能通过行动回合消除,在释放【藤蔓狂舞】前尽可能多的消除【疯缠树枝】效果,积攒更多花瓣,可使得森林泰坦进入破防状态,且得分数倍率也将获得提高。因此使用可以改变行动值,或者拥有额外回合,以及速度提升能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4301,
"heroId": "33003",
"skill": [
155006111,
@@ -59,20 +59,20 @@
155006311
],
"boss": [
- 810303
+ 1430003
]
},
{
"boss_id": 810304,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_4",
- "text": "胡德先生"
+ "text": "火焰泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_4",
- "text": "他是一名懦弱的战士"
+ "text": "火焰泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【火岩熔心】会优先攻击队长目标,队长目标防御越弱伤害越高,因此队长需要放置防御值高的守护者,将有利于减少伤害。【熔岩迸发】会给全体目标附加【炽热岩浆】效果。当火焰泰坦释放【熔岩爆裂】时会引爆所有【炙热岩浆】效果,对敌人造成巨大伤害。【炙热岩浆】只能通过增益效果和净化消除,在释放【熔岩爆裂】前尽可能多的消除【炙热岩浆】效果,积攒更多花瓣,可使得火焰泰坦进入破防状态,且得分数倍率也将获得提高。因此使用能多上增益效果和拥有净化能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4101,
"heroId": "33003",
"skill": [
155005111,
@@ -80,20 +80,20 @@
155005311
],
"boss": [
- 810304
+ 1430001
]
},
{
"boss_id": 810305,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_5",
- "text": "胡德先生"
+ "text": "冰霜泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_5",
- "text": "他是一名懦弱的战士"
+ "text": "冰霜泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【冰寒彻骨】会优先攻击队长目标,队长目标当前血量越低伤害越高,因此队长需要放置血量高的守护者,将有利于减少伤害。【寒风凛冽】会给全体目标附加【寒骨冰棱】效果。当冰霜泰坦释放【冰霜呼啸】时会引爆所有【寒骨冰棱】效果,对敌人造成巨大伤害。【寒骨冰棱】只能通过减益效果和治疗消除,在释放【冰霜呼啸】前尽可能多的消除【寒骨冰棱】效果,积攒更多花瓣,可使得冰霜泰坦进入破防状态,且得分数倍率也将获得提高。因此使用能多上减益效果和拥有治疗能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4201,
"heroId": "33003",
"skill": [
155005111,
@@ -101,27 +101,27 @@
155005311
],
"boss": [
- 810305
+ 1430002
]
},
{
"boss_id": 810306,
"boss_name": {
"key": "puggsy_puggsy_fight_boss_name_6",
- "text": "胡德先生"
+ "text": "森林泰坦"
},
"boss_text": {
"key": "puggsy_puggsy_fight_boss_text_6",
- "text": "他是一名懦弱的战士"
+ "text": "森林泰坦拥有无限血量,玩家必须战斗至足够的回合数之后,才能获得最终胜利。【荆棘窒息】会优先攻击队长目标,队长目标速度越低伤害越高,因此队长需要放置速度高的守护者,将有利于减少伤害。【盘根错节】会给全体目标附加【疯缠树枝】效果。当森林泰坦释放【藤蔓狂舞】时会引爆所有【疯缠树枝】效果,对敌人造成巨大伤害。【疯缠树枝】只能通过行动回合消除,在释放【藤蔓狂舞】前尽可能多的消除【疯缠树枝】效果,积攒更多花瓣,可使得森林泰坦进入破防状态,且得分数倍率也将获得提高。因此使用可以改变行动值,或者拥有额外回合,以及速度提升能力的守护者,是取得高分的关键。战斗结束时,成功存在的队伍方可获得S级及以上评级。"
},
- "BattleReadyID": 20111001,
+ "BattleReadyID": 4301,
"heroId": "33003",
"skill": [
125001111,
125001211
],
"boss": [
- 810306
+ 1430003
]
}
]
\ No newline at end of file
diff --git a/bin/json/game_puggsyscore.json b/bin/json/game_puggsyscore.json
index 59b1bc49b..21824238c 100644
--- a/bin/json/game_puggsyscore.json
+++ b/bin/json/game_puggsyscore.json
@@ -1,13 +1,24 @@
[
{
- "id": 1,
+ "id": 111,
"boss_id": 810301,
"rank_low": 0,
"rank_up": 19999,
- "reward": []
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
},
{
- "id": 2,
+ "id": 110,
"boss_id": 810301,
"rank_low": 20000,
"rank_up": 49999,
@@ -25,7 +36,7 @@
]
},
{
- "id": 3,
+ "id": 109,
"boss_id": 810301,
"rank_low": 50000,
"rank_up": 79999,
@@ -43,7 +54,7 @@
]
},
{
- "id": 4,
+ "id": 108,
"boss_id": 810301,
"rank_low": 80000,
"rank_up": 99999,
@@ -61,7 +72,7 @@
]
},
{
- "id": 5,
+ "id": 107,
"boss_id": 810301,
"rank_low": 100000,
"rank_up": -1,
@@ -77,5 +88,476 @@
"n": 10
}
]
+ },
+ {
+ "id": 106,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 105,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 6
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 6
+ }
+ ]
+ },
+ {
+ "id": 104,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 7
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 7
+ }
+ ]
+ },
+ {
+ "id": 103,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 10
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "id": 102,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 101,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": []
+ },
+ {
+ "id": 211,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 210,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 209,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 6
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 6
+ }
+ ]
+ },
+ {
+ "id": 208,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 7
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 7
+ }
+ ]
+ },
+ {
+ "id": 207,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 10
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "id": 206,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 205,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 6
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 6
+ }
+ ]
+ },
+ {
+ "id": 204,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 7
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 7
+ }
+ ]
+ },
+ {
+ "id": 203,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 10
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "id": 202,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 201,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": []
+ },
+ {
+ "id": 311,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 310,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 309,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 6
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 6
+ }
+ ]
+ },
+ {
+ "id": 308,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 7
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 7
+ }
+ ]
+ },
+ {
+ "id": 307,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 10
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "id": 306,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 305,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 6
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 6
+ }
+ ]
+ },
+ {
+ "id": 304,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 7
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 7
+ }
+ ]
+ },
+ {
+ "id": 303,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 10
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "id": 302,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": [
+ {
+ "a": "item",
+ "t": "10000042",
+ "n": 5
+ },
+ {
+ "a": "item",
+ "t": "10000043",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "id": 301,
+ "boss_id": 0,
+ "rank_low": 0,
+ "rank_up": 0,
+ "reward": []
}
]
\ No newline at end of file
diff --git a/bin/json/game_rdtasknpc.json b/bin/json/game_rdtasknpc.json
index 991ce43c5..ccc4fb27b 100644
--- a/bin/json/game_rdtasknpc.json
+++ b/bin/json/game_rdtasknpc.json
@@ -766,7 +766,7 @@
"Levelid": 0,
"datas": [
"GameMain",
- "20380-菲奥娜",
+ "20380-菲奥娜-替身使者",
"901"
],
"event": [
@@ -789,7 +789,7 @@
"Levelid": 0,
"datas": [
"GameMain",
- "20380-菲奥娜",
+ "20380-菲奥娜-替身使者",
"901"
],
"event": [
diff --git a/bin/json/game_reddot.json b/bin/json/game_reddot.json
index 444cfb8f3..ff25b148c 100644
--- a/bin/json/game_reddot.json
+++ b/bin/json/game_reddot.json
@@ -255,6 +255,26 @@
"path": "Root|Hero1|Equip|Wear",
"header": ""
},
+ {
+ "id": 20611,
+ "msg_type": 1,
+ "show_type": 0,
+ "count_type": 0,
+ "opencond_id": "",
+ "opencond": [],
+ "path": "Root|Hero1|Equip|Replace",
+ "header": ""
+ },
+ {
+ "id": 20621,
+ "msg_type": 1,
+ "show_type": 0,
+ "count_type": 0,
+ "opencond_id": "",
+ "opencond": [],
+ "path": "Root|Hero1|Equip|Strengthen",
+ "header": ""
+ },
{
"id": 15100,
"msg_type": 0,
@@ -267,7 +287,7 @@
},
{
"id": 15101,
- "msg_type": 2,
+ "msg_type": 0,
"show_type": 0,
"count_type": 0,
"opencond_id": "guild",
@@ -297,8 +317,8 @@
},
{
"id": 15201,
- "msg_type": 1,
- "show_type": 0,
+ "msg_type": 2,
+ "show_type": 1,
"count_type": 0,
"opencond_id": "guild",
"opencond": [],
@@ -315,6 +335,36 @@
"path": "Root|Guild|Main|Task",
"header": ""
},
+ {
+ "id": 15301,
+ "msg_type": 2,
+ "show_type": 0,
+ "count_type": 0,
+ "opencond_id": "guild",
+ "opencond": [],
+ "path": "Root|Guild|Main|Task|Complete",
+ "header": ""
+ },
+ {
+ "id": 15302,
+ "msg_type": 2,
+ "show_type": 0,
+ "count_type": 0,
+ "opencond_id": "guild",
+ "opencond": [],
+ "path": "Root|Guild|Main|Task|Reward",
+ "header": ""
+ },
+ {
+ "id": 15400,
+ "msg_type": 2,
+ "show_type": 0,
+ "count_type": 0,
+ "opencond_id": "guild",
+ "opencond": [],
+ "path": "Root|Guild|Main|Boss",
+ "header": ""
+ },
{
"id": 16100,
"msg_type": 0,
@@ -429,10 +479,30 @@
"id": 17108,
"msg_type": 2,
"show_type": 0,
+ "count_type": 1,
+ "opencond_id": "goberblacksmithshop",
+ "opencond": [],
+ "path": "Root|Smithy|Stove",
+ "header": ""
+ },
+ {
+ "id": 17109,
+ "msg_type": 2,
+ "show_type": 0,
"count_type": 0,
"opencond_id": "goberblacksmithshop",
"opencond": [],
- "path": "Root|Smithy",
+ "path": "Root|Smithy|IllustratedBubble|AtlasReward",
+ "header": ""
+ },
+ {
+ "id": 17110,
+ "msg_type": 1,
+ "show_type": 0,
+ "count_type": 1,
+ "opencond_id": "goberblacksmithshop",
+ "opencond": [],
+ "path": "Root|Smithy|Tool",
"header": ""
},
{
diff --git a/bin/json/game_ruledesc.json b/bin/json/game_ruledesc.json
index 05ee05ea6..06b529d4d 100644
--- a/bin/json/game_ruledesc.json
+++ b/bin/json/game_ruledesc.json
@@ -860,7 +860,7 @@
},
"content": {
"key": "ruledesc_ruledesc_content_54",
- "text": "在俱乐部专柜内,可以使用月光原石购买所需物资。
聚乐专柜每七天刷新一次,不可手动刷新。"
+ "text": "在俱乐部专柜内,可以使用俱乐部卡购买所需物资。
俱乐部专柜每七天刷新一次,不可手动刷新。"
}
},
{
diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json
index 15828a27e..f1ef9b028 100644
--- a/bin/json/game_worldtask.json
+++ b/bin/json/game_worldtask.json
@@ -11652,7 +11652,7 @@
},
"task_details": {
"key": "worldtask_world_task_task_details_203",
- "text": "委托-美肚鲨寻物-接取"
+ "text": ""
},
"npctxt": {
"key": "worldtask_world_task_npctxt_203",
@@ -11695,7 +11695,7 @@
},
"task_details": {
"key": "worldtask_world_task_task_details_204",
- "text": "委托-胡德先生寻物-接取"
+ "text": ""
},
"npctxt": {
"key": "worldtask_world_task_npctxt_204",
@@ -11738,7 +11738,7 @@
},
"task_details": {
"key": "worldtask_world_task_task_details_205",
- "text": "委托-暴芙纳特寻物-接取"
+ "text": ""
},
"npctxt": {
"key": "worldtask_world_task_npctxt_205",
@@ -11781,7 +11781,7 @@
},
"task_details": {
"key": "worldtask_world_task_task_details_206",
- "text": "委托-靴猫寻物-接取"
+ "text": ""
},
"npctxt": {
"key": "worldtask_world_task_npctxt_206",
@@ -11824,7 +11824,7 @@
},
"task_details": {
"key": "worldtask_world_task_task_details_207",
- "text": "委托-啊啊寻物-接取"
+ "text": ""
},
"npctxt": {
"key": "worldtask_world_task_npctxt_207",
diff --git a/modules/exclusive/model.go b/modules/exclusive/model.go
index cdf69a003..ec8475793 100644
--- a/modules/exclusive/model.go
+++ b/modules/exclusive/model.go
@@ -55,12 +55,12 @@ func (this *modelComp) QueryUserEquipments(uId string) (equipments []*pb.DB_Excl
if model, err = this.module.GetDBModelByUid(uId, this.TableName); err != nil {
this.module.Errorln(err)
} else {
- if err = model.GetList(uId, &equipments); err != nil {
+ if err = model.GetList(uId, &exclusives); err != nil {
this.module.Errorf("err:%v", err)
}
}
} else {
- if err = this.GetList(uId, &equipments); err != nil {
+ if err = this.GetList(uId, &exclusives); err != nil {
this.module.Errorf("err:%v", err)
}
}
@@ -73,7 +73,7 @@ func (this *modelComp) addEquipments(uid string, equips []*pb.DB_Exclusive) (err
model *db.DBModel
equipsMap map[string]*pb.DB_Exclusive = make(map[string]*pb.DB_Exclusive)
)
- for _, v := range equips {
+ for _, v := range exclusives {
equipsMap[v.Id] = v
}
if this.module.IsCross() {
@@ -133,7 +133,7 @@ func (this *modelComp) UpdateByHeroId(uid string, equipments ...*pb.DB_Equipment
if model, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil {
this.module.Errorln(err)
} else {
- for _, v := range equipments {
+ for _, v := range exclusives {
if err = model.ChangeList(uid, v.Id, map[string]interface{}{
"heroId": v.HeroId,
}); err != nil {
@@ -143,7 +143,7 @@ func (this *modelComp) UpdateByHeroId(uid string, equipments ...*pb.DB_Equipment
}
}
} else {
- for _, v := range equipments {
+ for _, v := range exclusives {
if err = this.ChangeList(uid, v.Id, map[string]interface{}{
"heroId": v.HeroId,
}); err != nil {
diff --git a/pb/exclusive_msg.pb.go b/pb/exclusive_msg.pb.go
index fbdecfac6..d424d6303 100644
--- a/pb/exclusive_msg.pb.go
+++ b/pb/exclusive_msg.pb.go
@@ -365,6 +365,7 @@ var file_exclusive_exclusive_msg_proto_rawDesc = []byte{
0x65, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52,
+<<<<<<< HEAD
0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x13, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
@@ -387,6 +388,28 @@ var file_exclusive_exclusive_msg_proto_rawDesc = []byte{
0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63,
0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+=======
+ 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x45,
+ 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x63, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
+ 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a,
+ 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52,
+ 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x45,
+ 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65,
+ 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x63, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
+ 0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78,
+ 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45,
+ 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63,
+ 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68,
+ 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73,
+ 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x42,
+ 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+>>>>>>> 64644e2b297f68eb2ec4482069623f1318cfeea9
}
var (
diff --git a/sys/configure/structs/Game.ExclusiveRank.go b/sys/configure/structs/Game.ExclusiveRank.go
new file mode 100644
index 000000000..3bbcfe3d5
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveRank.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 GameExclusiveRank struct {
+ _dataMap map[int32]*GameExclusiveRankData
+ _dataList []*GameExclusiveRankData
+}
+
+func NewGameExclusiveRank(_buf []map[string]interface{}) (*GameExclusiveRank, error) {
+ _dataList := make([]*GameExclusiveRankData, 0, len(_buf))
+ dataMap := make(map[int32]*GameExclusiveRankData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameExclusiveRankData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameExclusiveRank{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameExclusiveRank) GetDataMap() map[int32]*GameExclusiveRankData {
+ return table._dataMap
+}
+
+func (table *GameExclusiveRank) GetDataList() []*GameExclusiveRankData {
+ return table._dataList
+}
+
+func (table *GameExclusiveRank) Get(key int32) *GameExclusiveRankData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.ExclusiveRankData.go b/sys/configure/structs/Game.ExclusiveRankData.go
new file mode 100644
index 000000000..d25121ee2
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveRankData.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 GameExclusiveRankData struct {
+ Id int32
+ Weaponid int32
+ Rank int32
+ Lvmax int32
+ Cost []*Gameatn
+}
+
+const TypeId_GameExclusiveRankData = 1667489720
+
+func (*GameExclusiveRankData) GetTypeId() int32 {
+ return 1667489720
+}
+
+func (_v *GameExclusiveRankData)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["weaponid"].(float64); !_ok_ { err = errors.New("weaponid error"); return }; _v.Weaponid = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rank"].(float64); !_ok_ { err = errors.New("rank error"); return }; _v.Rank = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lvmax"].(float64); !_ok_ { err = errors.New("lvmax error"); return }; _v.Lvmax = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["cost"].([]interface{}); !_ok_ { err = errors.New("cost error"); return }
+
+ _v.Cost = 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.Cost = append(_v.Cost, _list_v_)
+ }
+ }
+
+ return
+}
+
+func DeserializeGameExclusiveRankData(_buf map[string]interface{}) (*GameExclusiveRankData, error) {
+ v := &GameExclusiveRankData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.ExclusiveStar.go b/sys/configure/structs/Game.ExclusiveStar.go
new file mode 100644
index 000000000..344758eee
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveStar.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 GameExclusiveStar struct {
+ _dataMap map[int32]*GameExclusiveStarData
+ _dataList []*GameExclusiveStarData
+}
+
+func NewGameExclusiveStar(_buf []map[string]interface{}) (*GameExclusiveStar, error) {
+ _dataList := make([]*GameExclusiveStarData, 0, len(_buf))
+ dataMap := make(map[int32]*GameExclusiveStarData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameExclusiveStarData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameExclusiveStar{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameExclusiveStar) GetDataMap() map[int32]*GameExclusiveStarData {
+ return table._dataMap
+}
+
+func (table *GameExclusiveStar) GetDataList() []*GameExclusiveStarData {
+ return table._dataList
+}
+
+func (table *GameExclusiveStar) Get(key int32) *GameExclusiveStarData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.ExclusiveStarData.go b/sys/configure/structs/Game.ExclusiveStarData.go
new file mode 100644
index 000000000..02c242b83
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveStarData.go
@@ -0,0 +1,45 @@
+//------------------------------------------------------------------------------
+//
+// 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 GameExclusiveStarData struct {
+ Id int32
+ Weaponid int32
+ Star int32
+ Commonskill int32
+ Exclusiveskill int32
+ Cost1 *Gameatn
+}
+
+const TypeId_GameExclusiveStarData = -1567680802
+
+func (*GameExclusiveStarData) GetTypeId() int32 {
+ return -1567680802
+}
+
+func (_v *GameExclusiveStarData)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["weaponid"].(float64); !_ok_ { err = errors.New("weaponid error"); return }; _v.Weaponid = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["commonskill"].(float64); !_ok_ { err = errors.New("commonskill error"); return }; _v.Commonskill = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exclusiveskill"].(float64); !_ok_ { err = errors.New("exclusiveskill error"); return }; _v.Exclusiveskill = int32(_tempNum_) }
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["cost1"].(map[string]interface{}); !_ok_ { err = errors.New("cost1 error"); return }; if _v.Cost1, err = DeserializeGameatn(_x_); err != nil { return } }
+ return
+}
+
+func DeserializeGameExclusiveStarData(_buf map[string]interface{}) (*GameExclusiveStarData, error) {
+ v := &GameExclusiveStarData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.ExclusiveUpgrade.go b/sys/configure/structs/Game.ExclusiveUpgrade.go
new file mode 100644
index 000000000..049047bda
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveUpgrade.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 GameExclusiveUpgrade struct {
+ _dataMap map[int32]*GameExclusiveUpgradeData
+ _dataList []*GameExclusiveUpgradeData
+}
+
+func NewGameExclusiveUpgrade(_buf []map[string]interface{}) (*GameExclusiveUpgrade, error) {
+ _dataList := make([]*GameExclusiveUpgradeData, 0, len(_buf))
+ dataMap := make(map[int32]*GameExclusiveUpgradeData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameExclusiveUpgradeData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameExclusiveUpgrade{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameExclusiveUpgrade) GetDataMap() map[int32]*GameExclusiveUpgradeData {
+ return table._dataMap
+}
+
+func (table *GameExclusiveUpgrade) GetDataList() []*GameExclusiveUpgradeData {
+ return table._dataList
+}
+
+func (table *GameExclusiveUpgrade) Get(key int32) *GameExclusiveUpgradeData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.ExclusiveUpgradeData.go b/sys/configure/structs/Game.ExclusiveUpgradeData.go
new file mode 100644
index 000000000..ce32ac734
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveUpgradeData.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 GameExclusiveUpgradeData struct {
+ Id int32
+ Weaponid int32
+ Lv int32
+ Attribute []*Gameatr
+ Needexp int32
+ Cost []*Gameatn
+ Change int32
+}
+
+const TypeId_GameExclusiveUpgradeData = -32998684
+
+func (*GameExclusiveUpgradeData) GetTypeId() int32 {
+ return -32998684
+}
+
+func (_v *GameExclusiveUpgradeData)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["weaponid"].(float64); !_ok_ { err = errors.New("weaponid error"); return }; _v.Weaponid = int32(_tempNum_) }
+ { 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["attribute"].([]interface{}); !_ok_ { err = errors.New("attribute error"); return }
+
+ _v.Attribute = 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.Attribute = append(_v.Attribute, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needexp"].(float64); !_ok_ { err = errors.New("needexp error"); return }; _v.Needexp = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["cost"].([]interface{}); !_ok_ { err = errors.New("cost error"); return }
+
+ _v.Cost = 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.Cost = append(_v.Cost, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["change"].(float64); !_ok_ { err = errors.New("change error"); return }; _v.Change = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameExclusiveUpgradeData(_buf map[string]interface{}) (*GameExclusiveUpgradeData, error) {
+ v := &GameExclusiveUpgradeData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.ExclusiveWeapon.go b/sys/configure/structs/Game.ExclusiveWeapon.go
new file mode 100644
index 000000000..32605c547
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveWeapon.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 GameExclusiveWeapon struct {
+ _dataMap map[int32]*GameExclusiveWeaponData
+ _dataList []*GameExclusiveWeaponData
+}
+
+func NewGameExclusiveWeapon(_buf []map[string]interface{}) (*GameExclusiveWeapon, error) {
+ _dataList := make([]*GameExclusiveWeaponData, 0, len(_buf))
+ dataMap := make(map[int32]*GameExclusiveWeaponData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameExclusiveWeaponData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Weaponid] = _v
+ }
+ }
+ return &GameExclusiveWeapon{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameExclusiveWeapon) GetDataMap() map[int32]*GameExclusiveWeaponData {
+ return table._dataMap
+}
+
+func (table *GameExclusiveWeapon) GetDataList() []*GameExclusiveWeaponData {
+ return table._dataList
+}
+
+func (table *GameExclusiveWeapon) Get(key int32) *GameExclusiveWeaponData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.ExclusiveWeaponData.go b/sys/configure/structs/Game.ExclusiveWeaponData.go
new file mode 100644
index 000000000..200bbbf24
--- /dev/null
+++ b/sys/configure/structs/Game.ExclusiveWeaponData.go
@@ -0,0 +1,62 @@
+//------------------------------------------------------------------------------
+//
+// 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 GameExclusiveWeaponData struct {
+ Weaponid int32
+ Heroid int32
+ Name string
+ Color int32
+ Icon string
+ Attribute []*Gameatr
+ Commonskill int32
+ Exclusiveskill int32
+}
+
+const TypeId_GameExclusiveWeaponData = 1014854952
+
+func (*GameExclusiveWeaponData) GetTypeId() int32 {
+ return 1014854952
+}
+
+func (_v *GameExclusiveWeaponData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weaponid"].(float64); !_ok_ { err = errors.New("weaponid error"); return }; _v.Weaponid = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroid"].(float64); !_ok_ { err = errors.New("heroid error"); return }; _v.Heroid = 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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["attribute"].([]interface{}); !_ok_ { err = errors.New("attribute error"); return }
+
+ _v.Attribute = 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.Attribute = append(_v.Attribute, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["commonskill"].(float64); !_ok_ { err = errors.New("commonskill error"); return }; _v.Commonskill = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exclusiveskill"].(float64); !_ok_ { err = errors.New("exclusiveskill error"); return }; _v.Exclusiveskill = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameExclusiveWeaponData(_buf map[string]interface{}) (*GameExclusiveWeaponData, error) {
+ v := &GameExclusiveWeaponData{}
+ 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 d2b3b34c1..132165d9f 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -358,6 +358,10 @@ type Tables struct {
SystemChatText *GameSystemChatText
SystemStroyTalk *GameSystemStroyTalk
EnchantbossReward *GameEnchantbossReward
+ ExclusiveWeapon *GameExclusiveWeapon
+ ExclusiveUpgrade *GameExclusiveUpgrade
+ ExclusiveRank *GameExclusiveRank
+ ExclusiveStar *GameExclusiveStar
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -2447,5 +2451,29 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.EnchantbossReward, err = NewGameEnchantbossReward(buf) ; err != nil {
return nil, err
}
+ if buf, err = loader("game_exclusiveweapon") ; err != nil {
+ return nil, err
+ }
+ if tables.ExclusiveWeapon, err = NewGameExclusiveWeapon(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_exclusiveupgrade") ; err != nil {
+ return nil, err
+ }
+ if tables.ExclusiveUpgrade, err = NewGameExclusiveUpgrade(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_exclusiverank") ; err != nil {
+ return nil, err
+ }
+ if tables.ExclusiveRank, err = NewGameExclusiveRank(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_exclusivestar") ; err != nil {
+ return nil, err
+ }
+ if tables.ExclusiveStar, err = NewGameExclusiveStar(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}