This commit is contained in:
liwei 2022-08-11 18:06:53 +08:00
commit 90581f964c
41 changed files with 27869 additions and 9234 deletions

View File

@ -3007,6 +3007,182 @@
"key": "equip_10005", "key": "equip_10005",
"text_cn": "完美" "text_cn": "完美"
}, },
{
"key": "skillname_125004011",
"text_cn": "波比队长技"
},
{
"key": "skillname_125004111",
"text_cn": "波比1技能"
},
{
"key": "skillname_125004211",
"text_cn": "波比2技能"
},
{
"key": "skillname_125004311",
"text_cn": "波比3技能"
},
{
"key": "skillname_135002011",
"text_cn": "希卡普队长技"
},
{
"key": "skillname_135002111",
"text_cn": "希卡普1技能"
},
{
"key": "skillname_135002211",
"text_cn": "希卡普2技能"
},
{
"key": "skillname_135002311",
"text_cn": "希卡普3技能"
},
{
"key": "skillname_935002321",
"text_cn": "希卡普3技能"
},
{
"key": "skill_1250040111",
"text_cn": "队长技我方全体效果抵抗增加40%"
},
{
"key": "skill_1250041111",
"text_cn": "波比对敌方1个目标造成3次攻击力30%的伤害有40%概率为自身附加2回合【免疫】状态"
},
{
"key": "skill_1250041112",
"text_cn": "伤害提升至35%"
},
{
"key": "skill_1250041113",
"text_cn": "概率触发概率提升至50%"
},
{
"key": "skill_1250041114",
"text_cn": "伤害提升至40%"
},
{
"key": "skill_1250041115",
"text_cn": "概率触发概率提升至60%"
},
{
"key": "skill_1250041116",
"text_cn": "伤害提升至45%"
},
{
"key": "skill_1250042111",
"text_cn": "波比清除我方所有减益状态并平均分配我方生命值千分比为我方全体附加2回合【攻击提升】状态"
},
{
"key": "skill_1250042112",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_1250042113",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_1250043111",
"text_cn": "进入2回合【喜悦】状态使我方全体收到伤害降低25%且在每个队友行动去为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动"
},
{
"key": "skill_1250043112",
"text_cn": "恢复量提升至22%"
},
{
"key": "skill_1250043113",
"text_cn": "恢复量提升至24%"
},
{
"key": "skill_1250043114",
"text_cn": "恢复量提升至26%"
},
{
"key": "skill_1250043115",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_1350020111",
"text_cn": "队长技我方全体效果命中增加40%"
},
{
"key": "skill_1350021111",
"text_cn": "攻击一个敌方2次伤害分别为自身攻击力30%和80%每次像目标转嫁自身1个减益转嫁成功时有50%的概率为目标附加1回合【眩晕】。"
},
{
"key": "skill_1350021112",
"text_cn": "第二段伤害提升至90%"
},
{
"key": "skill_1350021113",
"text_cn": "效果触发几率提升至60%"
},
{
"key": "skill_1350021114",
"text_cn": "第二段伤害提升至100%"
},
{
"key": "skill_1350021115",
"text_cn": "效果触发几率提升至70%"
},
{
"key": "skill_1350021116",
"text_cn": "第二段伤害提升至110%"
},
{
"key": "skill_1350022111",
"text_cn": "自身不会失手。敌方使其友方减益提前结束时扣除其当前生命值30%驱散其全部增益u为其附加1回合【石化】。"
},
{
"key": "skill_1350023111",
"text_cn": "攻击全体敌方3次每次伤害为自身攻击力35%。每次有80%概率驱散目标1个增益为目标附加2回合【失手率提升】。"
},
{
"key": "skill_1350023112",
"text_cn": "伤害提升至37"
},
{
"key": "skill_1350023113",
"text_cn": "效果触发几率提升至90%"
},
{
"key": "skill_1350023114",
"text_cn": "伤害提升至40%"
},
{
"key": "skill_1350023115",
"text_cn": "效果触发几率提升至100%"
},
{
"key": "skill_1350023116",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_9350023211",
"text_cn": "攻击全体敌方3次每次伤害为自身攻击力35%。每次有80%概率驱散目标1个增益为目标附加2回合【失手率提升】。延迟目标减益状态1回合。"
},
{
"key": "skill_9350023212",
"text_cn": "伤害提升至37"
},
{
"key": "skill_9350023213",
"text_cn": "效果触发几率提升至90%"
},
{
"key": "skill_9350023214",
"text_cn": "伤害提升至40%"
},
{
"key": "skill_9350023215",
"text_cn": "效果触发几率提升至100%"
},
{
"key": "skill_9350023216",
"text_cn": "冷却时间减少1回合"
},
{ {
"key": "skill_190011000", "key": "skill_190011000",
"text_cn": "我方全体防御增加30%" "text_cn": "我方全体防御增加30%"

View File

@ -3007,6 +3007,182 @@
"key": "equip_10005", "key": "equip_10005",
"text_en": "Perfect" "text_en": "Perfect"
}, },
{
"key": "skillname_125004011",
"text_en": ""
},
{
"key": "skillname_125004111",
"text_en": ""
},
{
"key": "skillname_125004211",
"text_en": ""
},
{
"key": "skillname_125004311",
"text_en": ""
},
{
"key": "skillname_135002011",
"text_en": ""
},
{
"key": "skillname_135002111",
"text_en": ""
},
{
"key": "skillname_135002211",
"text_en": ""
},
{
"key": "skillname_135002311",
"text_en": ""
},
{
"key": "skillname_935002321",
"text_en": ""
},
{
"key": "skill_1250040111",
"text_en": ""
},
{
"key": "skill_1250041111",
"text_en": ""
},
{
"key": "skill_1250041112",
"text_en": ""
},
{
"key": "skill_1250041113",
"text_en": ""
},
{
"key": "skill_1250041114",
"text_en": ""
},
{
"key": "skill_1250041115",
"text_en": ""
},
{
"key": "skill_1250041116",
"text_en": ""
},
{
"key": "skill_1250042111",
"text_en": ""
},
{
"key": "skill_1250042112",
"text_en": ""
},
{
"key": "skill_1250042113",
"text_en": ""
},
{
"key": "skill_1250043111",
"text_en": ""
},
{
"key": "skill_1250043112",
"text_en": ""
},
{
"key": "skill_1250043113",
"text_en": ""
},
{
"key": "skill_1250043114",
"text_en": ""
},
{
"key": "skill_1250043115",
"text_en": ""
},
{
"key": "skill_1350020111",
"text_en": ""
},
{
"key": "skill_1350021111",
"text_en": ""
},
{
"key": "skill_1350021112",
"text_en": ""
},
{
"key": "skill_1350021113",
"text_en": ""
},
{
"key": "skill_1350021114",
"text_en": ""
},
{
"key": "skill_1350021115",
"text_en": ""
},
{
"key": "skill_1350021116",
"text_en": ""
},
{
"key": "skill_1350022111",
"text_en": ""
},
{
"key": "skill_1350023111",
"text_en": ""
},
{
"key": "skill_1350023112",
"text_en": ""
},
{
"key": "skill_1350023113",
"text_en": ""
},
{
"key": "skill_1350023114",
"text_en": ""
},
{
"key": "skill_1350023115",
"text_en": ""
},
{
"key": "skill_1350023116",
"text_en": ""
},
{
"key": "skill_9350023211",
"text_en": ""
},
{
"key": "skill_9350023212",
"text_en": ""
},
{
"key": "skill_9350023213",
"text_en": ""
},
{
"key": "skill_9350023214",
"text_en": ""
},
{
"key": "skill_9350023215",
"text_en": ""
},
{
"key": "skill_9350023216",
"text_en": ""
},
{ {
"key": "skill_190011000", "key": "skill_190011000",
"text_en": "Increases all allies\u0027 defense by 30%" "text_en": "Increases all allies\u0027 defense by 30%"

View File

@ -3007,6 +3007,182 @@
"key": "equip_10005", "key": "equip_10005",
"text_tw": "" "text_tw": ""
}, },
{
"key": "skillname_125004011",
"text_tw": ""
},
{
"key": "skillname_125004111",
"text_tw": ""
},
{
"key": "skillname_125004211",
"text_tw": ""
},
{
"key": "skillname_125004311",
"text_tw": ""
},
{
"key": "skillname_135002011",
"text_tw": ""
},
{
"key": "skillname_135002111",
"text_tw": ""
},
{
"key": "skillname_135002211",
"text_tw": ""
},
{
"key": "skillname_135002311",
"text_tw": ""
},
{
"key": "skillname_935002321",
"text_tw": ""
},
{
"key": "skill_1250040111",
"text_tw": ""
},
{
"key": "skill_1250041111",
"text_tw": ""
},
{
"key": "skill_1250041112",
"text_tw": ""
},
{
"key": "skill_1250041113",
"text_tw": ""
},
{
"key": "skill_1250041114",
"text_tw": ""
},
{
"key": "skill_1250041115",
"text_tw": ""
},
{
"key": "skill_1250041116",
"text_tw": ""
},
{
"key": "skill_1250042111",
"text_tw": ""
},
{
"key": "skill_1250042112",
"text_tw": ""
},
{
"key": "skill_1250042113",
"text_tw": ""
},
{
"key": "skill_1250043111",
"text_tw": ""
},
{
"key": "skill_1250043112",
"text_tw": ""
},
{
"key": "skill_1250043113",
"text_tw": ""
},
{
"key": "skill_1250043114",
"text_tw": ""
},
{
"key": "skill_1250043115",
"text_tw": ""
},
{
"key": "skill_1350020111",
"text_tw": ""
},
{
"key": "skill_1350021111",
"text_tw": ""
},
{
"key": "skill_1350021112",
"text_tw": ""
},
{
"key": "skill_1350021113",
"text_tw": ""
},
{
"key": "skill_1350021114",
"text_tw": ""
},
{
"key": "skill_1350021115",
"text_tw": ""
},
{
"key": "skill_1350021116",
"text_tw": ""
},
{
"key": "skill_1350022111",
"text_tw": ""
},
{
"key": "skill_1350023111",
"text_tw": ""
},
{
"key": "skill_1350023112",
"text_tw": ""
},
{
"key": "skill_1350023113",
"text_tw": ""
},
{
"key": "skill_1350023114",
"text_tw": ""
},
{
"key": "skill_1350023115",
"text_tw": ""
},
{
"key": "skill_1350023116",
"text_tw": ""
},
{
"key": "skill_9350023211",
"text_tw": ""
},
{
"key": "skill_9350023212",
"text_tw": ""
},
{
"key": "skill_9350023213",
"text_tw": ""
},
{
"key": "skill_9350023214",
"text_tw": ""
},
{
"key": "skill_9350023215",
"text_tw": ""
},
{
"key": "skill_9350023216",
"text_tw": ""
},
{ {
"key": "skill_190011000", "key": "skill_190011000",
"text_tw": "" "text_tw": ""

View File

@ -78,5 +78,185 @@
"index": "friend_black", "index": "friend_black",
"var": "50", "var": "50",
"intr": "最大黑名单数" "intr": "最大黑名单数"
},
{
"index": "channel_cd_world",
"var": "5",
"intr": "世界频道发言间隔CD"
},
{
"index": "channel_cd_guild",
"var": "3",
"intr": "公会频道发言间隔CD"
},
{
"index": "channel_cd_private",
"var": "3",
"intr": "私聊频道发言间隔CD"
},
{
"index": "channel_cd_public",
"var": "15",
"intr": "跨服频道发言间隔CD"
},
{
"index": "channel_lock_icon",
"var": "200",
"intr": "输入框最大字数为value"
},
{
"index": "max_word",
"var": "200",
"intr": "输入框最大字数为value"
},
{
"index": "max_chat",
"var": "99",
"intr": "最大保存条数为value"
},
{
"index": "max_object",
"var": "50",
"intr": "最大私聊对象数为value"
},
{
"index": "load_chat",
"var": "10",
"intr": "加入或切换跨服频道时请求最近value条历史消息"
},
{
"index": "channel_allocation_max",
"var": "2000",
"intr": "频道大于value人时不再继续分配"
},
{
"index": "channel_switching_max",
"var": "3000",
"intr": "频道大于value人时不再接受手动切换到该频道"
},
{
"index": "draw_toplimit",
"var": "9999",
"intr": "每日抽卡次数上限"
},
{
"index": "10draw_star4_max",
"var": "8",
"intr": "10连抽最大4星数量"
},
{
"index": "10draw_star5_max",
"var": "2",
"intr": "10连抽最大5星数量"
},
{
"index": "draw_floor_star4",
"var": "20",
"intr": "连续20次不出4星英雄则替换第20次结果为4星英雄"
},
{
"index": "draw_floor_star5",
"var": "100",
"intr": "连续100次不出5星英雄则替换第100次结果为5星英雄"
},
{
"index": "duplicate_removal",
"var": "1",
"intr": "抽到5星英雄时需要与上次获得的5星英雄不一样填1启用填0关闭"
},
{
"index": "base_pool_cost",
"var": "item,10001,1",
"intr": "普通卡池每次抽卡消耗的道具"
},
{
"index": "camp1_pool_cost",
"var": "item,10002,1",
"intr": "阵营1每次抽卡消耗的道具"
},
{
"index": "camp2_pool_cost",
"var": "item,10003,1",
"intr": "阵营2每次抽卡消耗的道具"
},
{
"index": "camp3_pool_cost",
"var": "item,10004,1",
"intr": "阵营3每次抽卡消耗的道具"
},
{
"index": "camp4_pool_cost",
"var": "item,10005,1",
"intr": "阵营4每次抽卡消耗的道具"
},
{
"index": "camp1_pool1",
"var": "camp1_pool",
"intr": "阵营1抽卡调用奖池base_pool1"
},
{
"index": "camp2_pool1",
"var": "camp2_pool",
"intr": "阵营2抽卡调用奖池base_pool2"
},
{
"index": "camp3_pool1",
"var": "camp3_pool",
"intr": "阵营3抽卡调用奖池base_pool3"
},
{
"index": "camp4_pool1",
"var": "camp4_pool",
"intr": "阵营4抽卡调用奖池base_pool4"
},
{
"index": "base_pool1",
"var": "1-60-base_pool1",
"intr": "1-60次普通抽卡调用奖池base_pool1"
},
{
"index": "base_pool2",
"var": "61-200-base_pool2",
"intr": "61-200次普通抽卡调用奖池base_pool2"
},
{
"index": "base_pool3",
"var": "201-1000-base_pool3",
"intr": "201-1000次普通抽卡调用奖池base_pool3"
},
{
"index": "base_pool4",
"var": "1000-99999999-base_pool4",
"intr": "1000-99999999次普通抽卡调用奖池base_pool4"
},
{
"index": "base_pool_star3",
"var": "9000",
"intr": "普通奖池3星权重"
},
{
"index": "base_pool_star4",
"var": "900",
"intr": "普通奖池4星权重"
},
{
"index": "base_pool_star5",
"var": "100",
"intr": "普通奖池5星权重"
},
{
"index": "camp_pool_star3",
"var": "9000",
"intr": "阵营奖池3星权重"
},
{
"index": "camp_pool_star4",
"var": "900",
"intr": "阵营奖池4星权重"
},
{
"index": "camp_pool_star5",
"var": "100",
"intr": "阵营奖池5星权重"
} }
] ]

View File

@ -5,7 +5,8 @@
"text": "本地测试服" "text": "本地测试服"
}, },
"ips": "10.0.0.9:7891", "ips": "10.0.0.9:7891",
"debug": true "debug": true,
"sid": "df01"
}, },
{ {
"name": { "name": {
@ -13,7 +14,8 @@
"text": "和平谷" "text": "和平谷"
}, },
"ips": "119.3.89.14:7891", "ips": "119.3.89.14:7891",
"debug": false "debug": false,
"sid": ""
}, },
{ {
"name": { "name": {
@ -21,7 +23,8 @@
"text": "lw" "text": "lw"
}, },
"ips": "10.0.0.138:7891", "ips": "10.0.0.138:7891",
"debug": true "debug": true,
"sid": "dfli01"
}, },
{ {
"name": { "name": {
@ -29,7 +32,8 @@
"text": "mxf" "text": "mxf"
}, },
"ips": "10.0.0.85:7891", "ips": "10.0.0.85:7891",
"debug": true "debug": true,
"sid": "dfmxf"
}, },
{ {
"name": { "name": {
@ -37,7 +41,8 @@
"text": "凤凰城" "text": "凤凰城"
}, },
"ips": "119.3.89.14:7891", "ips": "119.3.89.14:7891",
"debug": false "debug": false,
"sid": ""
}, },
{ {
"name": { "name": {
@ -45,7 +50,8 @@
"text": "翡翠宫" "text": "翡翠宫"
}, },
"ips": "119.3.89.14:7891", "ips": "119.3.89.14:7891",
"debug": false "debug": false,
"sid": ""
}, },
{ {
"name": { "name": {
@ -53,6 +59,7 @@
"text": "乌鸦岭" "text": "乌鸦岭"
}, },
"ips": "119.3.89.14:7891", "ips": "119.3.89.14:7891",
"debug": false "debug": false,
"sid": ""
} }
] ]

View File

@ -78,5 +78,185 @@
"index": "friend_black", "index": "friend_black",
"var": "50", "var": "50",
"intr": "最大黑名单数" "intr": "最大黑名单数"
},
{
"index": "channel_cd_world",
"var": "5",
"intr": "世界频道发言间隔CD"
},
{
"index": "channel_cd_guild",
"var": "3",
"intr": "公会频道发言间隔CD"
},
{
"index": "channel_cd_private",
"var": "3",
"intr": "私聊频道发言间隔CD"
},
{
"index": "channel_cd_public",
"var": "15",
"intr": "跨服频道发言间隔CD"
},
{
"index": "channel_lock_icon",
"var": "200",
"intr": "输入框最大字数为value"
},
{
"index": "max_word",
"var": "200",
"intr": "输入框最大字数为value"
},
{
"index": "max_chat",
"var": "99",
"intr": "最大保存条数为value"
},
{
"index": "max_object",
"var": "50",
"intr": "最大私聊对象数为value"
},
{
"index": "load_chat",
"var": "10",
"intr": "加入或切换跨服频道时请求最近value条历史消息"
},
{
"index": "channel_allocation_max",
"var": "2000",
"intr": "频道大于value人时不再继续分配"
},
{
"index": "channel_switching_max",
"var": "3000",
"intr": "频道大于value人时不再接受手动切换到该频道"
},
{
"index": "draw_toplimit",
"var": "9999",
"intr": "每日抽卡次数上限"
},
{
"index": "10draw_star4_max",
"var": "8",
"intr": "10连抽最大4星数量"
},
{
"index": "10draw_star5_max",
"var": "2",
"intr": "10连抽最大5星数量"
},
{
"index": "draw_floor_star4",
"var": "20",
"intr": "连续20次不出4星英雄则替换第20次结果为4星英雄"
},
{
"index": "draw_floor_star5",
"var": "100",
"intr": "连续100次不出5星英雄则替换第100次结果为5星英雄"
},
{
"index": "duplicate_removal",
"var": "1",
"intr": "抽到5星英雄时需要与上次获得的5星英雄不一样填1启用填0关闭"
},
{
"index": "base_pool_cost",
"var": "item,10001,1",
"intr": "普通卡池每次抽卡消耗的道具"
},
{
"index": "camp1_pool_cost",
"var": "item,10002,1",
"intr": "阵营1每次抽卡消耗的道具"
},
{
"index": "camp2_pool_cost",
"var": "item,10003,1",
"intr": "阵营2每次抽卡消耗的道具"
},
{
"index": "camp3_pool_cost",
"var": "item,10004,1",
"intr": "阵营3每次抽卡消耗的道具"
},
{
"index": "camp4_pool_cost",
"var": "item,10005,1",
"intr": "阵营4每次抽卡消耗的道具"
},
{
"index": "camp1_pool1",
"var": "camp1_pool",
"intr": "阵营1抽卡调用奖池base_pool1"
},
{
"index": "camp2_pool1",
"var": "camp2_pool",
"intr": "阵营2抽卡调用奖池base_pool2"
},
{
"index": "camp3_pool1",
"var": "camp3_pool",
"intr": "阵营3抽卡调用奖池base_pool3"
},
{
"index": "camp4_pool1",
"var": "camp4_pool",
"intr": "阵营4抽卡调用奖池base_pool4"
},
{
"index": "base_pool1",
"var": "1-60-base_pool1",
"intr": "1-60次普通抽卡调用奖池base_pool1"
},
{
"index": "base_pool2",
"var": "61-200-base_pool2",
"intr": "61-200次普通抽卡调用奖池base_pool2"
},
{
"index": "base_pool3",
"var": "201-1000-base_pool3",
"intr": "201-1000次普通抽卡调用奖池base_pool3"
},
{
"index": "base_pool4",
"var": "1000-99999999-base_pool4",
"intr": "1000-99999999次普通抽卡调用奖池base_pool4"
},
{
"index": "base_pool_star3",
"var": "9000",
"intr": "普通奖池3星权重"
},
{
"index": "base_pool_star4",
"var": "900",
"intr": "普通奖池4星权重"
},
{
"index": "base_pool_star5",
"var": "100",
"intr": "普通奖池5星权重"
},
{
"index": "camp_pool_star3",
"var": "9000",
"intr": "阵营奖池3星权重"
},
{
"index": "camp_pool_star4",
"var": "900",
"intr": "阵营奖池4星权重"
},
{
"index": "camp_pool_star5",
"var": "100",
"intr": "阵营奖池5星权重"
} }
] ]

View File

@ -7,6 +7,8 @@
"hp", "hp",
"950" "950"
], ],
"icon": "js_jx_img_icon01",
"condition": 1,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -28,6 +30,8 @@
"def", "def",
"70" "70"
], ],
"icon": "js_jx_img_icon02",
"condition": 10,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -46,9 +50,11 @@
"hid": "15001", "hid": "15001",
"phase": 3, "phase": 3,
"phasebonus": [ "phasebonus": [
"121500100", "190012000",
"3" "3"
], ],
"icon": "js_jx_img_icon03",
"condition": 20,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -75,6 +81,8 @@
"defpro", "defpro",
"100" "100"
], ],
"icon": "js_jx_img_icon04",
"condition": 30,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -101,6 +109,8 @@
"speed", "speed",
"10" "10"
], ],
"icon": "js_jx_img_icon01",
"condition": 40,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -127,6 +137,8 @@
"hppro", "hppro",
"200" "200"
], ],
"icon": "js_jx_img_icon02",
"condition": 50,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -153,6 +165,8 @@
"hp", "hp",
"950" "950"
], ],
"icon": "js_jx_img_icon03",
"condition": 1,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -174,6 +188,8 @@
"def", "def",
"70" "70"
], ],
"icon": "js_jx_img_icon04",
"condition": 10,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -192,9 +208,11 @@
"hid": "25001", "hid": "25001",
"phase": 3, "phase": 3,
"phasebonus": [ "phasebonus": [
"122500100", "190012000",
"3" "3"
], ],
"icon": "js_jx_img_icon01",
"condition": 20,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -221,6 +239,8 @@
"defpro", "defpro",
"100" "100"
], ],
"icon": "js_jx_img_icon02",
"condition": 30,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -247,6 +267,8 @@
"speed", "speed",
"10" "10"
], ],
"icon": "js_jx_img_icon03",
"condition": 40,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -273,6 +295,8 @@
"hppro", "hppro",
"200" "200"
], ],
"icon": "js_jx_img_icon04",
"condition": 50,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -299,6 +323,8 @@
"hp", "hp",
"950" "950"
], ],
"icon": "js_jx_img_icon01",
"condition": 1,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -320,6 +346,8 @@
"def", "def",
"70" "70"
], ],
"icon": "js_jx_img_icon02",
"condition": 10,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -338,9 +366,11 @@
"hid": "35001", "hid": "35001",
"phase": 3, "phase": 3,
"phasebonus": [ "phasebonus": [
"123500100", "350013",
"3" "3"
], ],
"icon": "js_jx_img_icon03",
"condition": 20,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -367,6 +397,8 @@
"defpro", "defpro",
"100" "100"
], ],
"icon": "js_jx_img_icon04",
"condition": 30,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -393,6 +425,8 @@
"speed", "speed",
"10" "10"
], ],
"icon": "js_jx_img_icon01",
"condition": 40,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -419,6 +453,8 @@
"hppro", "hppro",
"200" "200"
], ],
"icon": "js_jx_img_icon02",
"condition": 50,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -445,6 +481,8 @@
"hp", "hp",
"950" "950"
], ],
"icon": "js_jx_img_icon03",
"condition": 1,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -466,6 +504,8 @@
"def", "def",
"70" "70"
], ],
"icon": "js_jx_img_icon04",
"condition": 10,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -484,9 +524,11 @@
"hid": "44001", "hid": "44001",
"phase": 3, "phase": 3,
"phasebonus": [ "phasebonus": [
"124400100", "190013000",
"3" "3"
], ],
"icon": "js_jx_img_icon01",
"condition": 20,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -513,6 +555,8 @@
"defpro", "defpro",
"100" "100"
], ],
"icon": "js_jx_img_icon02",
"condition": 30,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -539,6 +583,8 @@
"speed", "speed",
"10" "10"
], ],
"icon": "js_jx_img_icon03",
"condition": 40,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",
@ -565,6 +611,8 @@
"hppro", "hppro",
"200" "200"
], ],
"icon": "js_jx_img_icon04",
"condition": 50,
"phaseneed": [ "phaseneed": [
{ {
"a": "attr", "a": "attr",

View File

@ -646,5 +646,437 @@
"n": 1000 "n": 1000
} }
] ]
},
{
"id": "50001",
"name": {
"key": "itemname_50001",
"text": "闪耀声波-低级"
},
"usetype": 8,
"color": 3,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50005,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10013",
"ico": "wp_icon_10013",
"intr": {
"key": "itemdesc_50001",
"text": "把它放在背包里会带来好运"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "50002",
"name": {
"key": "itemname_50002",
"text": "灼热声波-低级"
},
"usetype": 8,
"color": 3,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50006,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10014",
"ico": "wp_icon_10014",
"intr": {
"key": "itemdesc_50002",
"text": "你登录了游戏就是冒险家,就会获得这个勋章"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "50003",
"name": {
"key": "itemname_50003",
"text": "呼啸声波-低级"
},
"usetype": 8,
"color": 3,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50007,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10015",
"ico": "wp_icon_10015",
"intr": {
"key": "itemdesc_50003",
"text": "比幸运草更幸运"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "50004",
"name": {
"key": "itemname_50004",
"text": "涌动声波-低级"
},
"usetype": 8,
"color": 3,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50008,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10016",
"ico": "wp_icon_10016",
"intr": {
"key": "itemdesc_50004",
"text": "钻石是人造的,所以不能用来买商城的商品"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "50005",
"name": {
"key": "itemname_50005",
"text": "闪耀声波-中级"
},
"usetype": 8,
"color": 4,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50009,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10013",
"ico": "wp_icon_10013",
"intr": {
"key": "itemdesc_50005",
"text": "把它放在背包里会带来好运"
},
"sale": [
{
"a": "item",
"t": "50001",
"n": 3
}
]
},
{
"id": "50006",
"name": {
"key": "itemname_50006",
"text": "灼热声波-中级"
},
"usetype": 8,
"color": 4,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50010,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10014",
"ico": "wp_icon_10014",
"intr": {
"key": "itemdesc_50006",
"text": "你登录了游戏就是冒险家,就会获得这个勋章"
},
"sale": [
{
"a": "item",
"t": "50002",
"n": 3
}
]
},
{
"id": "50007",
"name": {
"key": "itemname_50007",
"text": "呼啸声波-中级"
},
"usetype": 8,
"color": 4,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50011,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10015",
"ico": "wp_icon_10015",
"intr": {
"key": "itemdesc_50007",
"text": "比幸运草更幸运"
},
"sale": [
{
"a": "item",
"t": "50003",
"n": 3
}
]
},
{
"id": "50008",
"name": {
"key": "itemname_50008",
"text": "涌动声波-中级"
},
"usetype": 8,
"color": 4,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 50012,
"synthetize_num": 5,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10016",
"ico": "wp_icon_10016",
"intr": {
"key": "itemdesc_50008",
"text": "钻石是人造的,所以不能用来买商城的商品"
},
"sale": [
{
"a": "item",
"t": "50004",
"n": 3
}
]
},
{
"id": "50009",
"name": {
"key": "itemname_50009",
"text": "闪耀声波-高级"
},
"usetype": 8,
"color": 5,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10013",
"ico": "wp_icon_10013",
"intr": {
"key": "itemdesc_50009",
"text": "把它放在背包里会带来好运"
},
"sale": [
{
"a": "item",
"t": "50005",
"n": 3
}
]
},
{
"id": "50010",
"name": {
"key": "itemname_50010",
"text": "灼热声波-高级"
},
"usetype": 8,
"color": 5,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10014",
"ico": "wp_icon_10014",
"intr": {
"key": "itemdesc_50010",
"text": "你登录了游戏就是冒险家,就会获得这个勋章"
},
"sale": [
{
"a": "item",
"t": "50006",
"n": 3
}
]
},
{
"id": "50011",
"name": {
"key": "itemname_50011",
"text": "呼啸声波-高级"
},
"usetype": 8,
"color": 5,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10015",
"ico": "wp_icon_10015",
"intr": {
"key": "itemdesc_50011",
"text": "比幸运草更幸运"
},
"sale": [
{
"a": "item",
"t": "50007",
"n": 3
}
]
},
{
"id": "50012",
"name": {
"key": "itemname_50012",
"text": "涌动声波-高级"
},
"usetype": 8,
"color": 5,
"bagtype": 0,
"index": 18,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10016",
"ico": "wp_icon_10016",
"intr": {
"key": "itemdesc_50012",
"text": "钻石是人造的,所以不能用来买商城的商品"
},
"sale": [
{
"a": "item",
"t": "50008",
"n": 3
}
]
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -382,5 +382,101 @@
"key": "opencond_prompt_10002", "key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待" "text": "暂不开启,敬请期待"
} }
},
{
"id": "channel_lock_icon",
"name": {
"key": "num_1019",
"text": "聊天"
},
"main": "{\u0022lv\u0022: 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
},
{
"id": "channel_lock_world",
"name": {
"key": "num_1020",
"text": "世界"
},
"main": "{\u0022lv\u0022: 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
},
{
"id": "channel_lock_guild",
"name": {
"key": "num_1021",
"text": "公会"
},
"main": "{\u0022lv\u0022: 20}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
},
{
"id": "channel_lock_private",
"name": {
"key": "num_1022",
"text": "私聊"
},
"main": "{\u0022lv\u0022: 15}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
},
{
"id": "channel_lock_public",
"name": {
"key": "num_1023",
"text": "跨服"
},
"main": "{\u0022lv\u0022: 40}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
},
{
"id": "channel_lock_system",
"name": {
"key": "num_1024",
"text": "系统"
},
"main": "{\u0022lv\u0022: 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
}
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -1,102 +1,236 @@
[ [
{ {
"key": 10001, "key": 1,
"group": 10001,
"star": 5, "star": 5,
"prize": { "prize": [
{
"a": "hero", "a": "hero",
"t": "15001", "t": "15001",
"n": 1 "n": 1
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 10002, "key": 2,
"group": 10002,
"star": 5, "star": 5,
"prize": { "prize": [
{
"a": "hero", "a": "hero",
"t": "25001", "t": "25001",
"n": 1 "n": 1
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 10003, "key": 3,
"group": 10003,
"star": 4, "star": 4,
"prize": { "prize": [
{
"a": "hero", "a": "hero",
"t": "25001", "t": "25001",
"n": 1 "n": 1
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 10004, "key": 4,
"group": 10004,
"star": 4, "star": 4,
"prize": { "prize": [
{
"a": "hero", "a": "hero",
"t": "25001", "t": "25001",
"n": 1 "n": 1
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20001, "key": 5,
"group": 20001,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 2000 "n": 2000
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20002, "key": 6,
"group": 20002,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "diamond", "t": "diamond",
"n": 3000 "n": 3000
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20003, "key": 7,
"group": 20003,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 2000 "n": 2000
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20004, "key": 8,
"group": 20004,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "diamond", "t": "diamond",
"n": 3000 "n": 3000
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20005, "key": 9,
"group": 20005,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 2000 "n": 2000
}, }
],
"p": 1000 "p": 1000
}, },
{ {
"key": 20006, "key": 10,
"group": 20006,
"star": 0, "star": 0,
"prize": { "prize": [
{
"a": "attr", "a": "attr",
"t": "diamond", "t": "diamond",
"n": 3000 "n": 3000
}
],
"p": 1000
}, },
{
"key": 11,
"group": 50005,
"star": 0,
"prize": [
{
"a": "item",
"t": "50005",
"n": 1
}
],
"p": 1000
},
{
"key": 12,
"group": 50006,
"star": 0,
"prize": [
{
"a": "item",
"t": "50006",
"n": 1
}
],
"p": 1000
},
{
"key": 13,
"group": 50007,
"star": 0,
"prize": [
{
"a": "item",
"t": "50007",
"n": 1
}
],
"p": 1000
},
{
"key": 14,
"group": 50008,
"star": 0,
"prize": [
{
"a": "item",
"t": "50008",
"n": 1
}
],
"p": 1000
},
{
"key": 15,
"group": 50009,
"star": 0,
"prize": [
{
"a": "item",
"t": "50009",
"n": 1
}
],
"p": 1000
},
{
"key": 16,
"group": 50010,
"star": 0,
"prize": [
{
"a": "item",
"t": "50010",
"n": 1
}
],
"p": 1000
},
{
"key": 17,
"group": 50011,
"star": 0,
"prize": [
{
"a": "item",
"t": "50011",
"n": 1
}
],
"p": 1000
},
{
"key": 18,
"group": 50012,
"star": 0,
"prize": [
{
"a": "item",
"t": "50012",
"n": 1
}
],
"p": 1000 "p": 1000
} }
] ]

View File

@ -1,37 +0,0 @@
[
{
"group": 10001,
"id": [
10001,
10002,
10003
]
},
{
"group": 10002,
"id": [
10004
]
},
{
"group": 20001,
"id": [
20001,
20002
]
},
{
"group": 20002,
"id": [
20003,
20004
]
},
{
"group": 20003,
"id": [
20005,
20006
]
}
]

View File

@ -5283,6 +5283,7 @@
"ChildSkill": [ "ChildSkill": [
{ {
"Id": [ "Id": [
210012,
210012 210012
] ]
}, },
@ -5931,6 +5932,8 @@
"ChildSkill": [ "ChildSkill": [
{ {
"Id": [ "Id": [
210012,
210012,
210012 210012
] ]
}, },
@ -6722,7 +6725,7 @@
{ {
"Id": 125004011, "Id": 125004011,
"Name": { "Name": {
"key": "skillname_110083", "key": "skillname_125004011",
"text": "波比队长技" "text": "波比队长技"
}, },
"ico": "jn_dzj_01", "ico": "jn_dzj_01",
@ -6746,14 +6749,14 @@
} }
], ],
"Desc": [ "Desc": [
"队长技我方全体效果抵抗增加30%" "skill_1250040111"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004111, "Id": 125004111,
"Name": { "Name": {
"key": "skillname_150051", "key": "skillname_125004111",
"text": "波比1技能" "text": "波比1技能"
}, },
"ico": "jn_icon_001", "ico": "jn_icon_001",
@ -6808,19 +6811,19 @@
} }
], ],
"Desc": [ "Desc": [
"波比对敌方1个目标造成3次攻击力30%的伤害有40%概率为自身附加2回合【免疫】状态", "skill_1250041111",
"伤害提升至35%", "skill_1250041112",
"概率触发概率提升至50%", "skill_1250041113",
"伤害提升至40%", "skill_1250041114",
"概率触发概率提升至60%", "skill_1250041115",
"伤害提升至45%" "skill_1250041116"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004211, "Id": 125004211,
"Name": { "Name": {
"key": "skillname_150052", "key": "skillname_125004211",
"text": "波比2技能" "text": "波比2技能"
}, },
"ico": "jn_icon_002", "ico": "jn_icon_002",
@ -6860,16 +6863,16 @@
} }
], ],
"Desc": [ "Desc": [
"波比清除我方所有减益状态并平均分配我方生命值百分比为我方全体附加2回合【攻击提升】状态", "skill_1250042111",
"冷却时间减少1回合", "skill_1250042112",
"冷却时间减少1回合" "skill_1250042113"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004311, "Id": 125004311,
"Name": { "Name": {
"key": "skillname_150053", "key": "skillname_125004311",
"text": "波比3技能" "text": "波比3技能"
}, },
"ico": "jn_icon_003", "ico": "jn_icon_003",
@ -6913,11 +6916,279 @@
} }
], ],
"Desc": [ "Desc": [
"进入2回合【喜悦】状态使我方全体收到伤害降低25%且在每个队友行动去为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动", "skill_1250043111",
"恢复量提升至22%", "skill_1250043112",
"恢复量提升至24%", "skill_1250043113",
"恢复量提升至26%", "skill_1250043114",
"冷却时间减少1回合" "skill_1250043115"
],
"buffid": []
},
{
"Id": 135002011,
"Name": {
"key": "skillname_135002011",
"text": "希卡普队长技"
},
"ico": "jn_dzj_01",
"act": "",
"Type": 3,
"MaxLV": 1,
"CD": [
-1,
-1,
-1,
-1,
-1,
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
235002011
]
}
],
"Desc": [
"skill_1350020111"
],
"buffid": []
},
{
"Id": 135002111,
"Name": {
"key": "skillname_135002111",
"text": "希卡普1技能"
},
"ico": "jn_icon_001",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
"CD": [
0,
0,
0,
0,
0,
0
],
"Target": 4,
"ChildSkill": [
{
"Id": [
235002011,
235002111,
235002112,
235002113,
235002114
]
},
{
"Id": [
235002122,
235002124
]
},
{
"Id": [
235002132,
235002134
]
},
{
"Id": [
235002142,
235002144
]
},
{
"Id": [
235002152,
235002154
]
},
{
"Id": [
235002162,
235002164
]
}
],
"Desc": [
"skill_1350021111",
"skill_1350021112",
"skill_1350021113",
"skill_1350021114",
"skill_1350021115",
"skill_1350021116"
],
"buffid": []
},
{
"Id": 135002211,
"Name": {
"key": "skillname_135002211",
"text": "希卡普2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 2,
"MaxLV": 1,
"CD": [
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
235002211,
235002212,
235002213,
235002214,
235002215
]
}
],
"Desc": [
"skill_1350022111"
],
"buffid": []
},
{
"Id": 135002311,
"Name": {
"key": "skillname_135002311",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
"CD": [
5,
5,
5,
5,
5,
4
],
"Target": 2,
"ChildSkill": [
{
"Id": [
235002311,
235002312,
235002313
]
},
{
"Id": [
235002321,
235002322
]
},
{
"Id": [
235002331,
235002332
]
},
{
"Id": [
235002341,
235002342
]
},
{
"Id": [
235002351,
235002352
]
},
{
"Id": [
235002361,
235002362
]
}
],
"Desc": [
"skill_1350023111",
"skill_1350023112",
"skill_1350023113",
"skill_1350023114",
"skill_1350023115",
"skill_1350023116"
],
"buffid": []
},
{
"Id": 935002411,
"Name": {
"key": "skillname_935002321",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 4,
"MaxLV": 6,
"CD": [
5,
5,
5,
5,
5,
4
],
"Target": 2,
"ChildSkill": [
{
"Id": [
935002311,
935002312,
935002313,
935002314
]
},
{
"Id": [
935002321,
935002322
]
},
{
"Id": [
935002331,
935002332
]
},
{
"Id": [
935002341,
935002342
]
},
{
"Id": [
935002351,
935002352
]
},
{
"Id": [
935002361,
935002362
]
}
],
"Desc": [
"skill_9350023211",
"skill_9350023212",
"skill_9350023213",
"skill_9350023214",
"skill_9350023215",
"skill_9350023216"
], ],
"buffid": [] "buffid": []
} }

View File

@ -3990,7 +3990,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,Type=ProBuff,BufPro1=SufferDam,BufVal1=250,BufQuaType1=1", "Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,Type=ProBuff,BufPro1=DamRe,BufVal1=250,BufQuaType1=1",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4009,7 +4009,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddPas", "Type": "AddPas",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,Type=CallSkillPas,PasPr=1000,PasCallType=0,PasId1=290012304", "Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,Type=CallSkillPas,PasPr=1000,PasCallType=0,PasId1=425004301",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4075,5 +4075,865 @@
"Tags": [], "Tags": [],
"RelyTags": [], "RelyTags": [],
"NoRelyTags": [] "NoRelyTags": []
},
{
"Id": 235002111,
"Desc": "攻击一个敌方1次伤害为自身攻击力30%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=300",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002112,
"Desc": "攻击一个敌方1次伤害为自身攻击力80%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=800",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002113,
"Desc": "每次向目标转嫁1个自身减益",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "ShiftBuff",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=202,val=",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002114"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002114,
"Desc": "有50%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=500,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002122,
"Desc": "攻击一个敌方1次伤害为自身攻击力90%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=900",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002124,
"Desc": "有50%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=500,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002132,
"Desc": "攻击一个敌方1次伤害为自身攻击力90%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=900",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002134,
"Desc": "有60%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=600,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002142,
"Desc": "攻击一个敌方1次伤害为自身攻击力100%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002144,
"Desc": "有60%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=600,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002152,
"Desc": "攻击一个敌方1次伤害为自身攻击力100%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002154,
"Desc": "有70%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=700,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002162,
"Desc": "攻击一个敌方1次伤害为自身攻击力110%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1100",
"AddEffect": false,
"FollowSK": [
235002113
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002164,
"Desc": "有70%的概率为目标附加1回合【眩晕】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=700,NumVal=1,Id=390004001,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002211,
"Desc": "自身不会失手",
"From": 3,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390005003,Round=-1,Type=TagBuff",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002212,
"Desc": "添加释放技能的被动检测",
"From": 3,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddPas",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=435002201,Round=-1,Type=CallSkillPas,PasPr=1000,PasRouCD=0,PasId1=290012304",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002213,
"Desc": "扣除当前生命值30%",
"From": 9,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "NowHpDps",
"Argu": "DoVal=1,Pr=1000,Val=300",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002214,
"Desc": "驱散全部增益",
"From": 9,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=201,val=-1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002215,
"Desc": "附加石化",
"From": 9,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004004,Round=1,Type=TagBuff",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002311,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的35%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false,
"FollowSK": [
235002312,
235002313
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002312,
"Desc": "80%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=800,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002313"
],
"FailFollowSK": [],
"MustHit": true,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002313,
"Desc": "附加2回合失手率提升",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,Type=ProBuff,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": true,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002321,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的37%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=370",
"AddEffect": false,
"FollowSK": [
235002322
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002322,
"Desc": "80%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=800,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002331,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的37%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=370",
"AddEffect": false,
"FollowSK": [
235002332
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002332,
"Desc": "90%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=900,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002341,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的40%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=400",
"AddEffect": false,
"FollowSK": [
235002342
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002342,
"Desc": "90%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=900,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002351,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的40%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=400",
"AddEffect": false,
"FollowSK": [
235002352
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 235002352,
"Desc": "100%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"235002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002311,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的35%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false,
"FollowSK": [
235002312,
235002313
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002312,
"Desc": "80%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=800,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"935002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002313,
"Desc": "附加2回合失手率提升",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,Type=ProBuff,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": true,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002314,
"Desc": "延长目标减益状态1回合",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "BuffCD",
"Argu": "DoVal=1,Pr=1000,ActionType=0,BuffType1=1,RelyType1=1,ID1=202,QuaType=1,Val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002321,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的37%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=370",
"AddEffect": false,
"FollowSK": [
935002322,
935002314
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002322,
"Desc": "80%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=800,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"935002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002331,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的37%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=370",
"AddEffect": false,
"FollowSK": [
935002332,
935002314
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002332,
"Desc": "90%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=900,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"935002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002341,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的40%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=400",
"AddEffect": false,
"FollowSK": [
935002342,
935002314
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002342,
"Desc": "90%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=900,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"935002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002351,
"Desc": "攻击敌方全体3次每次伤害为自身攻击力的40%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=400",
"AddEffect": false,
"FollowSK": [
935002352,
935002314
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 935002352,
"Desc": "100%驱散目标1个增益",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=201,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [
"935002313"
],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
} }
] ]

View File

@ -5283,6 +5283,7 @@
"ChildSkill": [ "ChildSkill": [
{ {
"Id": [ "Id": [
210012,
210012 210012
] ]
}, },
@ -5931,6 +5932,8 @@
"ChildSkill": [ "ChildSkill": [
{ {
"Id": [ "Id": [
210012,
210012,
210012 210012
] ]
}, },
@ -6722,7 +6725,7 @@
{ {
"Id": 125004011, "Id": 125004011,
"Name": { "Name": {
"key": "skillname_110083", "key": "skillname_125004011",
"text": "波比队长技" "text": "波比队长技"
}, },
"ico": "jn_dzj_01", "ico": "jn_dzj_01",
@ -6746,14 +6749,14 @@
} }
], ],
"Desc": [ "Desc": [
"队长技我方全体效果抵抗增加30%" "skill_1250040111"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004111, "Id": 125004111,
"Name": { "Name": {
"key": "skillname_150051", "key": "skillname_125004111",
"text": "波比1技能" "text": "波比1技能"
}, },
"ico": "jn_icon_001", "ico": "jn_icon_001",
@ -6808,19 +6811,19 @@
} }
], ],
"Desc": [ "Desc": [
"波比对敌方1个目标造成3次攻击力30%的伤害有40%概率为自身附加2回合【免疫】状态", "skill_1250041111",
"伤害提升至35%", "skill_1250041112",
"概率触发概率提升至50%", "skill_1250041113",
"伤害提升至40%", "skill_1250041114",
"概率触发概率提升至60%", "skill_1250041115",
"伤害提升至45%" "skill_1250041116"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004211, "Id": 125004211,
"Name": { "Name": {
"key": "skillname_150052", "key": "skillname_125004211",
"text": "波比2技能" "text": "波比2技能"
}, },
"ico": "jn_icon_002", "ico": "jn_icon_002",
@ -6860,16 +6863,16 @@
} }
], ],
"Desc": [ "Desc": [
"波比清除我方所有减益状态并平均分配我方生命值百分比为我方全体附加2回合【攻击提升】状态", "skill_1250042111",
"冷却时间减少1回合", "skill_1250042112",
"冷却时间减少1回合" "skill_1250042113"
], ],
"buffid": [] "buffid": []
}, },
{ {
"Id": 125004311, "Id": 125004311,
"Name": { "Name": {
"key": "skillname_150053", "key": "skillname_125004311",
"text": "波比3技能" "text": "波比3技能"
}, },
"ico": "jn_icon_003", "ico": "jn_icon_003",
@ -6913,11 +6916,279 @@
} }
], ],
"Desc": [ "Desc": [
"进入2回合【喜悦】状态使我方全体收到伤害降低25%且在每个队友行动去为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动", "skill_1250043111",
"恢复量提升至22%", "skill_1250043112",
"恢复量提升至24%", "skill_1250043113",
"恢复量提升至26%", "skill_1250043114",
"冷却时间减少1回合" "skill_1250043115"
],
"buffid": []
},
{
"Id": 135002011,
"Name": {
"key": "skillname_135002011",
"text": "希卡普队长技"
},
"ico": "jn_dzj_01",
"act": "",
"Type": 3,
"MaxLV": 1,
"CD": [
-1,
-1,
-1,
-1,
-1,
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
235002011
]
}
],
"Desc": [
"skill_1350020111"
],
"buffid": []
},
{
"Id": 135002111,
"Name": {
"key": "skillname_135002111",
"text": "希卡普1技能"
},
"ico": "jn_icon_001",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
"CD": [
0,
0,
0,
0,
0,
0
],
"Target": 4,
"ChildSkill": [
{
"Id": [
235002011,
235002111,
235002112,
235002113,
235002114
]
},
{
"Id": [
235002122,
235002124
]
},
{
"Id": [
235002132,
235002134
]
},
{
"Id": [
235002142,
235002144
]
},
{
"Id": [
235002152,
235002154
]
},
{
"Id": [
235002162,
235002164
]
}
],
"Desc": [
"skill_1350021111",
"skill_1350021112",
"skill_1350021113",
"skill_1350021114",
"skill_1350021115",
"skill_1350021116"
],
"buffid": []
},
{
"Id": 135002211,
"Name": {
"key": "skillname_135002211",
"text": "希卡普2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 2,
"MaxLV": 1,
"CD": [
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
235002211,
235002212,
235002213,
235002214,
235002215
]
}
],
"Desc": [
"skill_1350022111"
],
"buffid": []
},
{
"Id": 135002311,
"Name": {
"key": "skillname_135002311",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
"CD": [
5,
5,
5,
5,
5,
4
],
"Target": 2,
"ChildSkill": [
{
"Id": [
235002311,
235002312,
235002313
]
},
{
"Id": [
235002321,
235002322
]
},
{
"Id": [
235002331,
235002332
]
},
{
"Id": [
235002341,
235002342
]
},
{
"Id": [
235002351,
235002352
]
},
{
"Id": [
235002361,
235002362
]
}
],
"Desc": [
"skill_1350023111",
"skill_1350023112",
"skill_1350023113",
"skill_1350023114",
"skill_1350023115",
"skill_1350023116"
],
"buffid": []
},
{
"Id": 935002411,
"Name": {
"key": "skillname_935002321",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 4,
"MaxLV": 6,
"CD": [
5,
5,
5,
5,
5,
4
],
"Target": 2,
"ChildSkill": [
{
"Id": [
935002311,
935002312,
935002313,
935002314
]
},
{
"Id": [
935002321,
935002322
]
},
{
"Id": [
935002331,
935002332
]
},
{
"Id": [
935002341,
935002342
]
},
{
"Id": [
935002351,
935002352
]
},
{
"Id": [
935002361,
935002362
]
}
],
"Desc": [
"skill_9350023211",
"skill_9350023212",
"skill_9350023213",
"skill_9350023214",
"skill_9350023215",
"skill_9350023216"
], ],
"buffid": [] "buffid": []
} }

View File

@ -694,5 +694,21 @@
"Tags": [], "Tags": [],
"RelyTags": [], "RelyTags": [],
"NoRelyTags": [] "NoRelyTags": []
},
{
"Id": 435002201,
"Desc": "BUFF结束",
"When": "BuffEnd",
"Where": "Target=2,EndType=1,TesLim=1,TriLim=1",
"AddCon": [
"CallSkillPas"
],
"Type": "",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
} }
] ]

249
bin/json/game_stroy.json Normal file
View File

@ -0,0 +1,249 @@
[
{
"id": 30001,
"groupid": 3,
"before": -1,
"next": 30002,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "我是阿宝来自古老的东方国度skr skr",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30002,
"groupid": 3,
"before": 30001,
"next": 30003,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25004",
"emoji": "",
"des": "我是波比,来自遥远的西方国度,啊哈",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30003,
"groupid": 3,
"before": 30002,
"next": -1,
"type": 5,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "看来你很帅哦,要干架吗?",
"chose": [
30004,
30005,
30006,
30007
],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30004,
"groupid": 3,
"before": 30003,
"next": 30008,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25004",
"emoji": "",
"des": "干就干,谁怕谁!",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30005,
"groupid": 3,
"before": 30003,
"next": 30009,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25004",
"emoji": "",
"des": "熊猫这么可爱,不能打熊猫!",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30006,
"groupid": 3,
"before": 30003,
"next": 30010,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25004",
"emoji": "",
"des": "打不过,溜了溜了",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30007,
"groupid": 3,
"before": 30003,
"next": 30011,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25004",
"emoji": "",
"des": "你弄啥咧?",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30008,
"groupid": 3,
"before": 30004,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "来,看我喵喵拳",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30009,
"groupid": 3,
"before": 30005,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "我不是可爱,我只是帅到你发呆",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30010,
"groupid": 3,
"before": 30006,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "别跑啊帅哥,跟你闹着玩儿的",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
},
{
"id": 30011,
"groupid": 3,
"before": 30007,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
"speak": "25001",
"emoji": "",
"des": "嘿嘿嘿",
"chose": [],
"turn": -1,
"show": 1,
"move": "idle",
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"perf": "",
"cg": "",
"skip": 1
}
]

View File

@ -742,5 +742,65 @@
"packagename": "roledetails", "packagename": "roledetails",
"comname": "rolestrategy", "comname": "rolestrategy",
"des": "角色攻略" "des": "角色攻略"
},
{
"id": "examine",
"file": "ExaminePopup",
"unloadpkg": 5,
"loadtype": 1,
"full": 0,
"blur": 1,
"package": "roledetails/roledetails",
"packagename": "roledetails",
"comname": "examine",
"des": "战术考核"
},
{
"id": "plotwindow",
"file": "PlotWindow",
"unloadpkg": 2,
"loadtype": 1,
"full": 2,
"blur": 0,
"package": "plotsystem/plotsystem",
"packagename": "plotsystem",
"comname": "main",
"des": "剧情"
},
{
"id": "recruit",
"file": "RecruitWindow",
"unloadpkg": 2,
"loadtype": 1,
"full": 1,
"blur": 0,
"package": "recruit/recruit",
"packagename": "recruit",
"comname": "main",
"des": "招募"
},
{
"id": "resonancepopup",
"file": "ResonancePopup",
"unloadpkg": 5,
"loadtype": 1,
"full": 0,
"blur": 1,
"package": "roledetails/roledetails",
"packagename": "roledetails",
"comname": "com_resonance",
"des": "共鸣弹窗"
},
{
"id": "materialsynthesispopup",
"file": "MaterialSynthesisPopup",
"unloadpkg": 5,
"loadtype": 1,
"full": 0,
"blur": 1,
"package": "roledetails/roledetails",
"packagename": "roledetails",
"comname": "com_synthesis",
"des": "材料合成弹窗"
} }
] ]

View File

@ -33,13 +33,13 @@ func (this *MCompConfigure) Init(service core.IService, module core.IModule, com
//加载一个配置文件 //加载一个配置文件
func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err error) { func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err error) {
return configure.RegisterConfigure(name, fn) return configure.RegisterConfigure(name, fn, nil)
} }
//加载多个配置文件 //加载多个配置文件
func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) { func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs { for k, v := range confs {
err = configure.RegisterConfigure(k, v) err = configure.RegisterConfigure(k, v, nil)
if err != nil { if err != nil {
log.Errorf("配置文件:%s解析失败!", k) log.Errorf("配置文件:%s解析失败!", k)
break break

View File

@ -84,7 +84,7 @@ func (this *MCompModel) Get(uid string, data interface{}, opt ...db.DBOption) (e
//获取列表数据 注意 data 必须是 切片的指针 *[]type //获取列表数据 注意 data 必须是 切片的指针 *[]type
func (this *MCompModel) GetList(uid string, data interface{}) (err error) { func (this *MCompModel) GetList(uid string, data interface{}) (err error) {
return this.DBModel.GetFields(uid, data) return this.DBModel.GetList(uid, data)
} }
//查询队列信息 //查询队列信息

View File

@ -49,7 +49,7 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
return return
} }
sale := RandomProps(prop) sale := RandomProps(prop)
if code = this.module.ModuleHero.GetSpecifiedHero(session, sale.Prize.T, sale.Star, 1, int32(req.Amount)); code != pb.ErrorCode_Success { if code = this.module.ModuleHero.GetSpecifiedHero(session, sale.Prize[0].T, sale.Star, 1, int32(req.Amount)); code != pb.ErrorCode_Success {
return return
} }
case 4: //自选宝箱 case 4: //自选宝箱
@ -60,13 +60,15 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success { if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success {
return return
} }
var sale *cfg.Game_atn var sale []*cfg.Game_atn
for _, v := range prop { for _, v := range prop {
if v.Key == req.Select { if v.Key == req.Select {
sale = &cfg.Game_atn{ for _, v1 := range v.Prize {
A: v.Prize.A, sale = append(sale, &cfg.Game_atn{
T: v.Prize.T, A: v1.A,
N: v.Prize.N, T: v1.T,
N: v1.N * int32(req.Amount),
})
} }
} }
} }
@ -76,8 +78,7 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
return return
} }
sale.N = sale.N * int32(req.Amount) if code = this.module.DispenseRes(session, sale, true); code != pb.ErrorCode_Success {
if code = this.module.DispenseRes(session, []*cfg.Game_atn{sale}, true); code != pb.ErrorCode_Success {
return return
} }
case 5: //随机宝箱 case 5: //随机宝箱
@ -85,9 +86,9 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
sale := make([]*cfg.Game_atn, req.Amount) sale := make([]*cfg.Game_atn, 0)
for i, _ := range sale { for range sale {
sale[i] = RandomProps(prop).Prize sale = append(sale, RandomProps(prop).Prize...)
} }
if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success { if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success {
return return
@ -101,13 +102,14 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
return return
} }
sale := make([]*cfg.Game_atn, len(prop)) sale := make([]*cfg.Game_atn, len(prop))
for i, v := range prop { for _, v := range prop {
sale[i] = &cfg.Game_atn{ for _, v1 := range v.Prize {
A: v.Prize.A, sale = append(sale, &cfg.Game_atn{
T: v.Prize.T, A: v1.A,
N: v.Prize.N, T: v1.T,
N: v1.N * int32(req.Amount),
})
} }
sale[i].N = v.Prize.N * int32(req.Amount)
} }
if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success { if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*int32(req.Amount), true); code != pb.ErrorCode_Success {
return return
@ -116,6 +118,31 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
return return
} }
break break
case 8: //觉醒材料合成
if prop, err = this.module.configure.GetPropsgroupConfigure(itemcf.BoxId); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if itemcf.SynthetizeNum*int32(req.Amount) > int32(item.Amount) { //碎片数量不够
code = pb.ErrorCode_ItemsNoEnough
return
}
if code = this.module.AddItemforGrid(&comm.ModuleCallSource{}, session, req.GridId, -1*itemcf.SynthetizeNum*int32(req.Amount), true); code != pb.ErrorCode_Success {
return
}
sale := make([]*cfg.Game_atn, len(prop))
for _, v := range prop {
for _, v1 := range v.Prize {
sale = append(sale, &cfg.Game_atn{
A: v1.A,
T: v1.T,
N: v1.N * int32(req.Amount),
})
}
}
if code = this.module.DispenseRes(session, sale, true); code != pb.ErrorCode_Success {
return
}
default: default:
code = pb.ErrorCode_ItemsUseNotSupported code = pb.ErrorCode_ItemsUseNotSupported
return return

View File

@ -4,7 +4,9 @@ import (
"fmt" "fmt"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"sync"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
) )
@ -19,15 +21,33 @@ const (
type ConfigureComp struct { type ConfigureComp struct {
modules.MCompConfigure modules.MCompConfigure
module *Items module *Items
lock sync.RWMutex
propsgroup map[int32][]*cfg.Game_propsgroupData
} }
//组件初始化接口 //组件初始化接口
func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { 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.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Items) this.module = module.(*Items)
this.propsgroup = make(map[int32][]*cfg.Game_propsgroupData)
err = this.LoadConfigure(game_item, cfg.NewGame_item) err = this.LoadConfigure(game_item, cfg.NewGame_item)
err = this.LoadConfigure(game_propsgroup, cfg.NewGame_propsgroup) err = configure.RegisterConfigure(game_propsgroup, cfg.NewGame_propsgroup, func() {
err = this.LoadConfigure(game_propsgrouplist, cfg.NewGame_propsgrouplist) if v, err := this.GetConfigure(game_propsgroup); err == nil {
if configure, ok := v.(*cfg.Game_propsgroup); ok {
this.lock.Lock()
defer this.lock.Unlock()
for _, value := range configure.GetDataList() {
if _, ok = this.propsgroup[value.Group]; !ok {
this.propsgroup[value.Group] = make([]*cfg.Game_propsgroupData, 0)
}
this.propsgroup[value.Group] = append(this.propsgroup[value.Group], value)
}
return
}
} else {
this.module.Errorln(err)
}
})
return return
} }
@ -94,35 +114,12 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
//获取道具礼包组 //获取道具礼包组
func (this *ConfigureComp) GetPropsgroupConfigure(gid int32) (result []*cfg.Game_propsgroupData, err error) { func (this *ConfigureComp) GetPropsgroupConfigure(gid int32) (result []*cfg.Game_propsgroupData, err error) {
var ( var ok bool
v interface{} this.lock.RLock()
ok bool result, ok = this.propsgroup[gid]
group *cfg.Game_propsgrouplistData this.lock.RUnlock()
) if !ok {
if v, err = this.GetConfigure(game_propsgrouplist); err != nil { err = fmt.Errorf("no found gid:%d", gid)
this.module.Errorf("err:%v", err)
return
}
result = make([]*cfg.Game_propsgroupData, 0)
if group, ok = v.(*cfg.Game_propsgrouplist).GetDataMap()[gid]; !ok {
err = fmt.Errorf("no found Game_propsgrouplist group:%d", group)
return
}
if v, err = this.GetConfigure(game_propsgroup); err != nil {
this.module.Errorf("err:%v", err)
return
}
for _, id := range group.Id {
if temp, ok := v.(*cfg.Game_propsgroup).GetDataMap()[id]; !ok {
err = fmt.Errorf("no found Game_propsgroup id:%d", v)
return
} else {
result = append(result, temp)
}
}
if len(result) == 0 {
err = fmt.Errorf("no found itemConfigure group:%d", group)
this.module.Errorf("err:%v", err)
} }
return return
} }

View File

@ -2,7 +2,7 @@ package mainline
import ( import (
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase" "go_dreamfactory/modules"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
) )
@ -16,32 +16,21 @@ const (
///配置管理基础组件 ///配置管理基础组件
type configureComp struct { type configureComp struct {
cbase.ModuleCompBase modules.MCompConfigure
module *Mainline module *Mainline
} }
//组件初始化接口 //组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.ModuleCompBase.Init(service, module, comp, options) err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Mainline)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
game_mainlinechapter: cfg.NewGame_mainlineChapter, game_mainlinechapter: cfg.NewGame_mainlineChapter,
game_mainlineeasy: cfg.NewGame_mainlineEasy, game_mainlineeasy: cfg.NewGame_mainlineEasy,
game_mainlinehard: cfg.NewGame_mainlineHard, game_mainlinehard: cfg.NewGame_mainlineHard,
game_mainlinepurgatory: cfg.NewGame_mainlinePurgatory, game_mainlinepurgatory: cfg.NewGame_mainlinePurgatory,
}) })
this.module = module.(*Mainline)
return
}
//加载多个配置文件
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs {
err = configure.RegisterConfigure(k, v)
if err != nil {
this.module.Errorf("配置文件:%s解析失败!", k)
break
}
}
return return
} }

View File

@ -6,6 +6,7 @@ import (
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"sync"
) )
const ( const (
@ -17,23 +18,47 @@ const (
///配置管理基础组件 ///配置管理基础组件
type configureComp struct { type configureComp struct {
cbase.ModuleCompBase cbase.ModuleCompBase
hlock sync.RWMutex
_pagodaMap map[int64]*cfg.Game_pagodaData
} }
//组件初始化接口 //组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.ModuleCompBase.Init(service, module, comp, options) err = this.ModuleCompBase.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
game_pagoda: cfg.NewGame_pagoda, //game_pagoda: cfg.NewGame_pagoda,
game_pagodaseasonreward: cfg.NewGame_pagodaSeasonReward, game_pagodaseasonreward: cfg.NewGame_pagodaSeasonReward,
game_pagodataskreward: cfg.NewGame_pagodaTaskReward, game_pagodataskreward: cfg.NewGame_pagodaTaskReward,
}) })
this._pagodaMap = make(map[int64]*cfg.Game_pagodaData, 0)
configure.RegisterConfigure(game_pagoda, cfg.NewGame_pagoda, func() {
if v, err := this.GetConfigure(game_pagoda); err == nil {
if configure, ok := v.(*cfg.Game_pagoda); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
this._pagodaMap[int64(value.PagodaType<<16)+int64(value.LayerNum)] = value
}
return return
} }
}
log.Errorf("get game_pagoda conf err:%v", err)
return
})
return
}
// 获取爬塔信息 参数1 塔类型 参数2 层数
func (this *configureComp) GetPagodaConfigData(PagodaType int32, floorId int32) (data *cfg.Game_pagodaData) {
return this._pagodaMap[int64(PagodaType<<16)+int64(floorId)]
}
//加载多个配置文件 //加载多个配置文件
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) { func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs { for k, v := range confs {
err = configure.RegisterConfigure(k, v) err = configure.RegisterConfigure(k, v, nil)
if err != nil { if err != nil {
log.Errorf("配置文件:%s解析失败!", k) log.Errorf("配置文件:%s解析失败!", k)
break break

View File

@ -13,6 +13,7 @@ import (
"go_dreamfactory/modules/mail" "go_dreamfactory/modules/mail"
"go_dreamfactory/modules/mainline" "go_dreamfactory/modules/mainline"
"go_dreamfactory/modules/notify" "go_dreamfactory/modules/notify"
"go_dreamfactory/modules/pagoda"
"go_dreamfactory/modules/shop" "go_dreamfactory/modules/shop"
"go_dreamfactory/modules/task" "go_dreamfactory/modules/task"
"go_dreamfactory/modules/user" "go_dreamfactory/modules/user"
@ -57,6 +58,7 @@ func main() {
chat.NewModule(), chat.NewModule(),
gm.NewModule(), gm.NewModule(),
forum.NewModule(), forum.NewModule(),
pagoda.NewModule(),
) )
} }

View File

@ -20,6 +20,7 @@ var typeOfError = reflect.TypeOf((*error)(nil)).Elem()
type configurehandle struct { type configurehandle struct {
configureType reflect.Type configureType reflect.Type
fn reflect.Value fn reflect.Value
events []func()
} }
func newSys(options Options) (sys *Configure, err error) { func newSys(options Options) (sys *Configure, err error) {
@ -66,12 +67,16 @@ func (this *Configure) Stop() (err error) {
} }
//加载配置文件 //加载配置文件
func (this *Configure) RegisterConfigure(name string, fn interface{}) (err error) { func (this *Configure) RegisterConfigure(name string, fn interface{}, callback func()) (err error) {
this.hlock.RLock() this.hlock.RLock()
_, ok := this.configurehandles[name] handle, ok := this.configurehandles[name]
this.hlock.RUnlock() this.hlock.RUnlock()
if ok { if ok {
// err = fmt.Errorf("重复 注册配置【%s】", name) // err = fmt.Errorf("重复 注册配置【%s】", name)
if callback != nil {
handle.events = append(handle.events, callback)
callback()
}
return return
} }
fnvalue := reflect.ValueOf(fn) fnvalue := reflect.ValueOf(fn)
@ -97,9 +102,10 @@ func (this *Configure) RegisterConfigure(name string, fn interface{}) (err error
err = fmt.Errorf("LoadConfigure fn 类型错误! 只接受fn( _buf []map[string]interface{})(v,error) 函数参数") err = fmt.Errorf("LoadConfigure fn 类型错误! 只接受fn( _buf []map[string]interface{})(v,error) 函数参数")
return return
} }
handle := &configurehandle{ handle = &configurehandle{
configureType: dataType, configureType: dataType,
fn: fnvalue, fn: fnvalue,
events: []func(){callback},
} }
if err = this.loaderConfigure(name, handle); err != nil { if err = this.loaderConfigure(name, handle); err != nil {
return return
@ -107,23 +113,10 @@ func (this *Configure) RegisterConfigure(name string, fn interface{}) (err error
this.hlock.Lock() this.hlock.Lock()
this.configurehandles[name] = handle this.configurehandles[name] = handle
this.hlock.Unlock() this.hlock.Unlock()
return if callback != nil {
callback()
} }
//更新配置信息
func (this *Configure) UpdateConfigure(names ...string) (err error) {
for _, v := range names {
this.hlock.RLock()
handle, ok := this.configurehandles[v]
this.hlock.RUnlock()
if !ok {
continue
}
if err = this.loaderConfigure(v, handle); err != nil {
err = fmt.Errorf("loaderConfigure:%s err:%v", v, err)
return
}
}
return return
} }
@ -198,6 +191,9 @@ func (this *Configure) checkConfigure() {
if err = this.loaderConfigure(v.Name, handle); err != nil { if err = this.loaderConfigure(v.Name, handle); err != nil {
return return
} }
for _, v := range handle.events {
v()
}
} }
} }
} }

View File

@ -17,8 +17,7 @@ type (
ISys interface { ISys interface {
Start() (err error) Start() (err error)
Stop() (err error) Stop() (err error)
RegisterConfigure(name string, fn interface{}) (err error) //注册配置 RegisterConfigure(name string, fn interface{}, callback func()) (err error) //注册配置
UpdateConfigure(names ...string) (err error) //更新配置
GetConfigure(name string) (v interface{}, err error) //获取配置 GetConfigure(name string) (v interface{}, err error) //获取配置
} }
) )
@ -48,12 +47,8 @@ func Start() (err error) {
func Stop() (err error) { func Stop() (err error) {
return defsys.Stop() return defsys.Stop()
} }
func RegisterConfigure(name string, fn interface{}) (err error) { func RegisterConfigure(name string, fn interface{}, callback func()) (err error) {
return defsys.RegisterConfigure(name, fn) return defsys.RegisterConfigure(name, fn, callback)
}
func UpdateConfigure(names ...string) (err error) {
return defsys.UpdateConfigure(names...)
} }
func GetConfigure(name string) (v interface{}, err error) { func GetConfigure(name string) (v interface{}, err error) {

View File

@ -70,8 +70,11 @@ type Tables struct {
facemod *Game_facemod facemod *Game_facemod
msgdistrib *Game_msgdistrib msgdistrib *Game_msgdistrib
language *Game_language language *Game_language
propsgrouplist *Game_propsgrouplist
opencond *Game_opencond opencond *Game_opencond
stroy *Game_stroy
pagoda *Game_pagoda
pagodaTaskReward *Game_pagodaTaskReward
pagodaSeasonReward *Game_pagodaSeasonReward
} }
func NewTables(loader JsonLoader) (*Tables, error) { func NewTables(loader JsonLoader) (*Tables, error) {
@ -427,17 +430,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.language, err = NewGame_language(buf) ; err != nil { if tables.language, err = NewGame_language(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_propsgrouplist") ; err != nil {
return nil, err
}
if tables.propsgrouplist, err = NewGame_propsgrouplist(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_opencond") ; err != nil { if buf, err = loader("game_opencond") ; err != nil {
return nil, err return nil, err
} }
if tables.opencond, err = NewGame_opencond(buf) ; err != nil { if tables.opencond, err = NewGame_opencond(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_stroy") ; err != nil {
return nil, err
}
if tables.stroy, err = NewGame_stroy(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_pagoda") ; err != nil {
return nil, err
}
if tables.pagoda, err = NewGame_pagoda(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_pagodataskreward") ; err != nil {
return nil, err
}
if tables.pagodaTaskReward, err = NewGame_pagodaTaskReward(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_pagodaseasonreward") ; err != nil {
return nil, err
}
if tables.pagodaSeasonReward, err = NewGame_pagodaSeasonReward(buf) ; err != nil {
return nil, err
}
return tables, nil return tables, nil
} }

View File

@ -14,6 +14,7 @@ type Game_extserversData struct {
Name string Name string
Ips string Ips string
Debug bool Debug bool
Sid string
} }
func (Game_extserversData) GetTypeId() int { func (Game_extserversData) GetTypeId() int {
@ -25,5 +26,6 @@ func NewGame_extserversData(_buf map[string]interface{}) (_v *Game_extserversDat
{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 __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.Ips, _ok_ = _buf["ips"].(string); !_ok_ { err = errors.New("ips error"); return } } { var _ok_ bool; if _v.Ips, _ok_ = _buf["ips"].(string); !_ok_ { err = errors.New("ips error"); return } }
{ var _ok_ bool; if _v.Debug, _ok_ = _buf["debug"].(bool); !_ok_ { err = errors.New("debug error"); return } } { var _ok_ bool; if _v.Debug, _ok_ = _buf["debug"].(bool); !_ok_ { err = errors.New("debug error"); return } }
{ var _ok_ bool; if _v.Sid, _ok_ = _buf["sid"].(string); !_ok_ { err = errors.New("sid error"); return } }
return return
} }

View File

@ -15,6 +15,8 @@ type Game_heroAwakenData struct {
Hid string Hid string
Phase int32 Phase int32
Phasebonus []string Phasebonus []string
Icon string
Condition int32
Phaseneed []*Game_atn Phaseneed []*Game_atn
} }
@ -41,6 +43,8 @@ func NewGame_heroAwakenData(_buf map[string]interface{}) (_v *Game_heroAwakenDat
} }
} }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["condition"].(float64); !_ok_ { err = errors.New("condition error"); return }; _v.Condition = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_newSkill struct {
_dataMap map[int32]*Game_newSkillData
_dataList []*Game_newSkillData
}
func NewGame_newSkill(_buf []map[string]interface{}) (*Game_newSkill, error) {
_dataList := make([]*Game_newSkillData, 0, len(_buf))
dataMap := make(map[int32]*Game_newSkillData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_newSkillData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &Game_newSkill{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_newSkill) GetDataMap() map[int32]*Game_newSkillData {
return table._dataMap
}
func (table *Game_newSkill) GetDataList() []*Game_newSkillData {
return table._dataList
}
func (table *Game_newSkill) Get(key int32) *Game_newSkillData {
return table._dataMap[key]
}

View File

@ -1,77 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_newSkillData struct {
Id int32
Name string
Ico string
Act string
Type int32
MaxLV int32
CD []int32
Target int32
ChildSkill []*Game_ChildSkills
Desc1 string
Desc2 string
Desc3 string
Desc4 string
Desc5 string
}
func (Game_newSkillData) GetTypeId() int {
return -1344126889
}
func NewGame_newSkillData(_buf map[string]interface{}) (_v *Game_newSkillData, err error) {
_v = &Game_newSkillData{}
{ 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 __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.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
{ var _ok_ bool; if _v.Act, _ok_ = _buf["act"].(string); !_ok_ { err = errors.New("act error"); return } }
{ 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["MaxLV"].(float64); !_ok_ { err = errors.New("MaxLV error"); return }; _v.MaxLV = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["CD"].([]interface{}); !_ok_ { err = errors.New("CD error"); return }
_v.CD = 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.CD = append(_v.CD, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Target"].(float64); !_ok_ { err = errors.New("Target error"); return }; _v.Target = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ChildSkill"].([]interface{}); !_ok_ { err = errors.New("ChildSkill error"); return }
_v.ChildSkill = make([]*Game_ChildSkills, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Game_ChildSkills
{ 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 = NewGame_ChildSkills(_x_); err != nil { return } }
_v.ChildSkill = append(_v.ChildSkill, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["Desc1"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc1 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc1, _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["Desc2"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc2 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc2, _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["Desc3"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc3 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc3, _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["Desc4"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc4 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc4, _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["Desc5"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc5 error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc5, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}

View File

@ -1,3 +1,4 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -10,7 +11,6 @@ package cfg
type Game_pagoda struct { type Game_pagoda struct {
_dataMap map[int32]*Game_pagodaData _dataMap map[int32]*Game_pagodaData
_dataList []*Game_pagodaData _dataList []*Game_pagodaData
_dataList1 map[int32]*Game_pagodaData
} }
func NewGame_pagoda(_buf []map[string]interface{}) (*Game_pagoda, error) { func NewGame_pagoda(_buf []map[string]interface{}) (*Game_pagoda, error) {
@ -38,3 +38,5 @@ func (table *Game_pagoda) GetDataList() []*Game_pagodaData {
func (table *Game_pagoda) Get(key int32) *Game_pagodaData { func (table *Game_pagoda) Get(key int32) *Game_pagodaData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -19,7 +19,7 @@ type Game_pagodaData struct {
MonsterLv []int32 MonsterLv []int32
MonsterHp []float32 MonsterHp []float32
MonsterAtk []float32 MonsterAtk []float32
MonsterDef float32 MonsterDef []float32
Batch1 []int32 Batch1 []int32
Batch2 []int32 Batch2 []int32
Batch3 []int32 Batch3 []int32
@ -85,7 +85,20 @@ func NewGame_pagodaData(_buf map[string]interface{}) (_v *Game_pagodaData, err e
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_def"].(float64); !_ok_ { err = errors.New("monster_def error"); return }; _v.MonsterDef = float32(_tempNum_) } {
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["monster_def"].([]interface{}); !_ok_ { err = errors.New("monster_def error"); return }
_v.MonsterDef = make([]float32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ float32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = float32(_x_) }
_v.MonsterDef = append(_v.MonsterDef, _list_v_)
}
}
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool

View File

@ -13,7 +13,7 @@ import "errors"
type Game_pagodaTaskRewardData struct { type Game_pagodaTaskRewardData struct {
Key int32 Key int32
PagodaType int32 PagodaType int32
LayerNum []int32 LayerNum int32
Reward []*Game_atn Reward []*Game_atn
} }
@ -25,20 +25,7 @@ func NewGame_pagodaTaskRewardData(_buf map[string]interface{}) (_v *Game_pagodaT
_v = &Game_pagodaTaskRewardData{} _v = &Game_pagodaTaskRewardData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pagoda_type"].(float64); !_ok_ { err = errors.New("pagoda_type error"); return }; _v.PagodaType = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pagoda_type"].(float64); !_ok_ { err = errors.New("pagoda_type error"); return }; _v.PagodaType = int32(_tempNum_) }
{ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["layer_num"].(float64); !_ok_ { err = errors.New("layer_num error"); return }; _v.LayerNum = int32(_tempNum_) }
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["layer_num"].([]interface{}); !_ok_ { err = errors.New("layer_num error"); return }
_v.LayerNum = 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.LayerNum = append(_v.LayerNum, _list_v_)
}
}
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool

View File

@ -12,8 +12,9 @@ import "errors"
type Game_propsgroupData struct { type Game_propsgroupData struct {
Key int32 Key int32
Group int32
Star int32 Star int32
Prize *Game_atn Prize []*Game_atn
P int32 P int32
} }
@ -24,8 +25,22 @@ func (Game_propsgroupData) GetTypeId() int {
func NewGame_propsgroupData(_buf map[string]interface{}) (_v *Game_propsgroupData, err error) { func NewGame_propsgroupData(_buf map[string]interface{}) (_v *Game_propsgroupData, err error) {
_v = &Game_propsgroupData{} _v = &Game_propsgroupData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = 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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["prize"].(map[string]interface{}); !_ok_ { err = errors.New("prize error"); return }; if _v.Prize, err = NewGame_atn(_x_); err != nil { return } } {
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["prize"].([]interface{}); !_ok_ { err = errors.New("prize error"); return }
_v.Prize = make([]*Game_atn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Game_atn
{ 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 = NewGame_atn(_x_); err != nil { return } }
_v.Prize = append(_v.Prize, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["p"].(float64); !_ok_ { err = errors.New("p error"); return }; _v.P = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["p"].(float64); !_ok_ { err = errors.New("p error"); return }; _v.P = int32(_tempNum_) }
return return
} }

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_propsgrouplist struct {
_dataMap map[int32]*Game_propsgrouplistData
_dataList []*Game_propsgrouplistData
}
func NewGame_propsgrouplist(_buf []map[string]interface{}) (*Game_propsgrouplist, error) {
_dataList := make([]*Game_propsgrouplistData, 0, len(_buf))
dataMap := make(map[int32]*Game_propsgrouplistData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_propsgrouplistData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Group] = _v
}
}
return &Game_propsgrouplist{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_propsgrouplist) GetDataMap() map[int32]*Game_propsgrouplistData {
return table._dataMap
}
func (table *Game_propsgrouplist) GetDataList() []*Game_propsgrouplistData {
return table._dataList
}
func (table *Game_propsgrouplist) Get(key int32) *Game_propsgrouplistData {
return table._dataMap[key]
}

View File

@ -1,40 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_propsgrouplistData struct {
Group int32
Id []int32
}
func (Game_propsgrouplistData) GetTypeId() int {
return -835013389
}
func NewGame_propsgrouplistData(_buf map[string]interface{}) (_v *Game_propsgrouplistData, err error) {
_v = &Game_propsgrouplistData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["id"].([]interface{}); !_ok_ { err = errors.New("id error"); return }
_v.Id = 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.Id = append(_v.Id, _list_v_)
}
}
return
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_stroy struct {
_dataMap map[int32]*Game_stroyData
_dataList []*Game_stroyData
}
func NewGame_stroy(_buf []map[string]interface{}) (*Game_stroy, error) {
_dataList := make([]*Game_stroyData, 0, len(_buf))
dataMap := make(map[int32]*Game_stroyData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_stroyData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &Game_stroy{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_stroy) GetDataMap() map[int32]*Game_stroyData {
return table._dataMap
}
func (table *Game_stroy) GetDataList() []*Game_stroyData {
return table._dataList
}
func (table *Game_stroy) Get(key int32) *Game_stroyData {
return table._dataMap[key]
}

View File

@ -0,0 +1,76 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_stroyData struct {
Id int32
Groupid int32
Before int32
Next int32
Type int32
Bg string
Speak string
Emoji string
Des string
Chose []int32
Turn int32
Show int32
Move string
Action string
Sound string
Place int32
Revolve string
Perf string
Cg string
Skip int32
}
func (Game_stroyData) GetTypeId() int {
return 695327529
}
func NewGame_stroyData(_buf map[string]interface{}) (_v *Game_stroyData, err error) {
_v = &Game_stroyData{}
{ 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["groupid"].(float64); !_ok_ { err = errors.New("groupid error"); return }; _v.Groupid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["before"].(float64); !_ok_ { err = errors.New("before error"); return }; _v.Before = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["next"].(float64); !_ok_ { err = errors.New("next error"); return }; _v.Next = 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; if _v.Bg, _ok_ = _buf["bg"].(string); !_ok_ { err = errors.New("bg error"); return } }
{ var _ok_ bool; if _v.Speak, _ok_ = _buf["speak"].(string); !_ok_ { err = errors.New("speak error"); return } }
{ var _ok_ bool; if _v.Emoji, _ok_ = _buf["emoji"].(string); !_ok_ { err = errors.New("emoji error"); return } }
{ var _ok_ bool; if _v.Des, _ok_ = _buf["des"].(string); !_ok_ { err = errors.New("des error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["chose"].([]interface{}); !_ok_ { err = errors.New("chose error"); return }
_v.Chose = 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.Chose = append(_v.Chose, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["turn"].(float64); !_ok_ { err = errors.New("turn error"); return }; _v.Turn = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["show"].(float64); !_ok_ { err = errors.New("show error"); return }; _v.Show = int32(_tempNum_) }
{ var _ok_ bool; if _v.Move, _ok_ = _buf["move"].(string); !_ok_ { err = errors.New("move error"); return } }
{ var _ok_ bool; if _v.Action, _ok_ = _buf["action"].(string); !_ok_ { err = errors.New("action error"); return } }
{ var _ok_ bool; if _v.Sound, _ok_ = _buf["sound"].(string); !_ok_ { err = errors.New("sound error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["place"].(float64); !_ok_ { err = errors.New("place error"); return }; _v.Place = int32(_tempNum_) }
{ var _ok_ bool; if _v.Revolve, _ok_ = _buf["revolve"].(string); !_ok_ { err = errors.New("revolve error"); return } }
{ var _ok_ bool; if _v.Perf, _ok_ = _buf["perf"].(string); !_ok_ { err = errors.New("perf error"); return } }
{ var _ok_ bool; if _v.Cg, _ok_ = _buf["cg"].(string); !_ok_ { err = errors.New("cg error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skip"].(float64); !_ok_ { err = errors.New("skip error"); return }; _v.Skip = int32(_tempNum_) }
return
}