This commit is contained in:
liwei1dao 2022-08-12 18:55:18 +08:00
commit c9f67d7414
188 changed files with 6978 additions and 3075 deletions

View File

@ -1801,7 +1801,7 @@
},
{
"key": "equip_13215",
"text_cn": "暴击率\u002B20%"
"text_cn": "暴击率+20%"
},
{
"key": "equip_13216",
@ -3023,6 +3023,10 @@
"key": "skillname_125004311",
"text_cn": "波比3技能"
},
{
"key": "skillname_925004211",
"text_cn": "波比2技能"
},
{
"key": "skillname_135002011",
"text_cn": "希卡普队长技"
@ -3043,6 +3047,26 @@
"key": "skillname_935002321",
"text_cn": "希卡普3技能"
},
{
"key": "skillname_124003011",
"text_cn": "睡神队长技"
},
{
"key": "skillname_124003111",
"text_cn": "睡神1技能"
},
{
"key": "skillname_124003211",
"text_cn": "睡神2技能"
},
{
"key": "skillname_124003311",
"text_cn": "睡神3技能"
},
{
"key": "skillname_924003411",
"text_cn": "睡神2技能"
},
{
"key": "skill_1250040111",
"text_cn": "队长技我方全体效果抵抗增加40%"
@ -3183,6 +3207,70 @@
"key": "skill_9350023216",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_1240030111",
"text_cn": "队长技我方全体效果抵抗增加40%"
},
{
"key": "skill_1240031111",
"text_cn": "一技能睡神沙人对敌方1个目标造成攻击力110%的伤害并有70%的概率附加1回合【睡眠】状态。"
},
{
"key": "skill_1240031112",
"text_cn": "等级2 伤害提升至100%"
},
{
"key": "skill_1240031113",
"text_cn": "等级3 效果触发几率提升至60%"
},
{
"key": "skill_1240031114",
"text_cn": "等级4 伤害提升至110%"
},
{
"key": "skill_1240031115",
"text_cn": "等级5 效果触发几率提升至70%"
},
{
"key": "skill_1240032111",
"text_cn": "二技能睡神沙人为我方全体各净化1个减益状态并附加2回合【速度提升】。"
},
{
"key": "skill_1240032112",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_1240033111",
"text_cn": "三技能睡神沙人对敌方全体造成攻击力80%的伤害使敌方目标各减少30%行动值并有100%概率附加1回合【睡眠】状态。"
},
{
"key": "skill_1240033112",
"text_cn": "等级2 降低的行动值提升至25%"
},
{
"key": "skill_1240033113",
"text_cn": "等级3 效果触发几率提升至90%"
},
{
"key": "skill_1240033114",
"text_cn": "等级4 降低的行动值提升至30%"
},
{
"key": "skill_1240033115",
"text_cn": "等级5 效果触发几率提升至100%"
},
{
"key": "skill_1240033116",
"text_cn": "等级6 冷却时间减少1回合"
},
{
"key": "skill_9240034111",
"text_cn": "二技能睡神沙人为我方全体各净化1个减益状态并附加2回合【速度提升】和1回合【防御提升】状态。"
},
{
"key": "skill_9240034112",
"text_cn": "冷却时间减少1回合"
},
{
"key": "skill_190011000",
"text_cn": "我方全体防御增加30%"
@ -3891,6 +3979,30 @@
"key": "num_1018",
"text_cn": "戈伯铁匠铺"
},
{
"key": "num_1019",
"text_cn": "聊天"
},
{
"key": "num_1020",
"text_cn": "世界"
},
{
"key": "num_1021",
"text_cn": "公会"
},
{
"key": "num_1022",
"text_cn": "私聊"
},
{
"key": "num_1023",
"text_cn": "跨服"
},
{
"key": "num_1024",
"text_cn": "系统"
},
{
"key": "opencond_name_10001",
"text_cn": "背包"
@ -3949,7 +4061,7 @@
},
{
"key": "hero_help_10005",
"text_cn": "不同星级的英雄有不同的等级上限3星为30级4星为40级,5星为50级6星为60级。\u003Cbr/\u003E英雄达到等级上限后需要通过升星进一步提升等级。\u003Cbr/\u003E升星后英雄的属性将得到提升。\u003Cbr/\u003E升星精灵是英雄升星的优质素材"
"text_cn": "不同星级的英雄有不同的等级上限3星为30级4星为40级,5星为50级6星为60级。<br/>英雄达到等级上限后,需要通过升星进一步提升等级。<br/>升星后英雄的属性将得到提升。<br/>升星精灵是英雄升星的优质素材"
},
{
"key": "hero_help_10006",
@ -3957,6 +4069,6 @@
},
{
"key": "hero_help_10007",
"text_cn": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。\u003Cbr/\u003E如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
"text_cn": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。<br/>如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
}
]

View File

@ -413,11 +413,11 @@
},
{
"key": "hero_51002",
"text_en": "Erret\u0027s No. 1 (new)"
"text_en": "Erret's No. 1 (new)"
},
{
"key": "hero_51003",
"text_en": "Erret\u0027s No. 2 (new)"
"text_en": "Erret's No. 2 (new)"
},
{
"key": "hero_51004",
@ -441,7 +441,7 @@
},
{
"key": "hero_51009",
"text_en": "Captain Chantal du Bois\u0027s No. 4 (new)"
"text_en": "Captain Chantal du Bois's No. 4 (new)"
},
{
"key": "hero_51010",
@ -525,7 +525,7 @@
},
{
"key": "hero_55010",
"text_en": "Mr. Piranha\u0027s handsome batch"
"text_en": "Mr. Piranha's handsome batch"
},
{
"key": "hero_55011",
@ -533,7 +533,7 @@
},
{
"key": "hero_55012",
"text_en": "Lord Farquad\u0027s handsome batch"
"text_en": "Lord Farquad's handsome batch"
},
{
"key": "hero_55013",
@ -561,11 +561,11 @@
},
{
"key": "hero_55019",
"text_en": "Blanche\u0027s handsome batch"
"text_en": "Blanche's handsome batch"
},
{
"key": "hero_55020",
"text_en": "Prince Grist\u0027s handsome batch"
"text_en": "Prince Grist's handsome batch"
},
{
"key": "hero_55021",
@ -589,7 +589,7 @@
},
{
"key": "hero_55026",
"text_en": "Captain Smack\u0027s handsome batch"
"text_en": "Captain Smack's handsome batch"
},
{
"key": "hero_55027",
@ -625,7 +625,7 @@
},
{
"key": "hero_55035",
"text_en": "Kyle\u0027s group"
"text_en": "Kyle's group"
},
{
"key": "hero_55036",
@ -641,11 +641,11 @@
},
{
"key": "hero_55039",
"text_en": "Po\u0027s personality is easy-going, innocent, active, playful, and childish, but it is these qualities that give him the potential to become a \u0022Dragon Hero\u0022. Maybe heroes are not necessarily perfect, but they must be kind!"
"text_en": "Po's personality is easy-going, innocent, active, playful, and childish, but it is these qualities that give him the potential to become a \"Dragon Hero\". Maybe heroes are not necessarily perfect, but they must be kind!"
},
{
"key": "hero_55040",
"text_en": "Mr. Wolfe\u0027s handsome batch"
"text_en": "Mr. Wolfe's handsome batch"
},
{
"key": "hero_55041",
@ -669,7 +669,7 @@
},
{
"key": "hero_55046",
"text_en": "Prue Granger\u0027s handsome batch"
"text_en": "Prue Granger's handsome batch"
},
{
"key": "hero_55047",
@ -697,7 +697,7 @@
},
{
"key": "hero_55053",
"text_en": "Walter Strickler\u0027s handsome batch"
"text_en": "Walter Strickler's handsome batch"
},
{
"key": "hero_55054",
@ -705,11 +705,11 @@
},
{
"key": "hero_55055",
"text_en": "Fiona\u0027s handsome batch"
"text_en": "Fiona's handsome batch"
},
{
"key": "hero_55056",
"text_en": "Huffnut\u0027s handsome batch"
"text_en": "Huffnut's handsome batch"
},
{
"key": "hero_55057",
@ -733,11 +733,11 @@
},
{
"key": "hero_55062",
"text_en": "Mr. Ping\u0027s handsome group"
"text_en": "Mr. Ping's handsome group"
},
{
"key": "hero_55063",
"text_en": "Abigail Stone\u0027s handsome batch"
"text_en": "Abigail Stone's handsome batch"
},
{
"key": "hero_55064",
@ -753,11 +753,11 @@
},
{
"key": "hero_55067",
"text_en": "Commander Vahir\u0027s handsome group"
"text_en": "Commander Vahir's handsome group"
},
{
"key": "hero_55068",
"text_en": "Bridget\u0027s handsome batch"
"text_en": "Bridget's handsome batch"
},
{
"key": "hero_55069",
@ -797,7 +797,7 @@
},
{
"key": "hero_55078",
"text_en": "Guy\u0027s group"
"text_en": "Guy's group"
},
{
"key": "hero_55079",
@ -1801,7 +1801,7 @@
},
{
"key": "equip_13215",
"text_en": "Critical strike rate \u002B20%"
"text_en": "Critical strike rate +20%"
},
{
"key": "equip_13216",
@ -2149,279 +2149,279 @@
},
{
"key": "mainline_desc_10002",
"text_en": "Don\u0027t look at the peaceful and prosperous scene of the \u0022Peace Valley\u0022 where A Bao is located, it is actually a feng shui treasure land of Crouching Tiger Hidden Dragon. Not to mention that the five masters of kung fu are all sitting here, and there is even a master-level master living here in seclusion."
"text_en": "Don't look at the peaceful and prosperous scene of the \"Peace Valley\" where A Bao is located, it is actually a feng shui treasure land of Crouching Tiger Hidden Dragon. Not to mention that the five masters of kung fu are all sitting here, and there is even a master-level master living here in seclusion."
},
{
"key": "mainline_desc_10003",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10004",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10005",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10006",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10007",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10008",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10009",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10010",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10011",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10012",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10013",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10014",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10015",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10016",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10017",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10018",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10019",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10020",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10021",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10022",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10023",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10024",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10025",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10026",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10027",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10028",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10029",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10030",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10031",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10032",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10033",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10034",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10035",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10036",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10037",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10038",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10039",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10040",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10041",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10042",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10043",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10044",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10045",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10046",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10047",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10048",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10049",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10050",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10051",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10052",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10053",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10054",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10055",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10056",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10057",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10058",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10059",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10060",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10061",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10062",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10063",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10064",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10065",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10066",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10067",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10068",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10069",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_desc_10070",
"text_en": "However, the winner of a special martial arts competition has to represent the \u0022Peace Valley\u0022 to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
"text_en": "However, the winner of a special martial arts competition has to represent the \"Peace Valley\" to drive out the evil dragon forever. A Bao, who knows nothing, has gone through a series of misunderstandings and won the election. Stunned everyone."
},
{
"key": "mainline_text_10001",
@ -3023,6 +3023,10 @@
"key": "skillname_125004311",
"text_en": ""
},
{
"key": "skillname_925004211",
"text_en": ""
},
{
"key": "skillname_135002011",
"text_en": ""
@ -3043,6 +3047,26 @@
"key": "skillname_935002321",
"text_en": ""
},
{
"key": "skillname_124003011",
"text_en": ""
},
{
"key": "skillname_124003111",
"text_en": ""
},
{
"key": "skillname_124003211",
"text_en": ""
},
{
"key": "skillname_124003311",
"text_en": ""
},
{
"key": "skillname_924003411",
"text_en": ""
},
{
"key": "skill_1250040111",
"text_en": ""
@ -3183,9 +3207,73 @@
"key": "skill_9350023216",
"text_en": ""
},
{
"key": "skill_1240030111",
"text_en": ""
},
{
"key": "skill_1240031111",
"text_en": ""
},
{
"key": "skill_1240031112",
"text_en": ""
},
{
"key": "skill_1240031113",
"text_en": ""
},
{
"key": "skill_1240031114",
"text_en": ""
},
{
"key": "skill_1240031115",
"text_en": ""
},
{
"key": "skill_1240032111",
"text_en": ""
},
{
"key": "skill_1240032112",
"text_en": ""
},
{
"key": "skill_1240033111",
"text_en": ""
},
{
"key": "skill_1240033112",
"text_en": ""
},
{
"key": "skill_1240033113",
"text_en": ""
},
{
"key": "skill_1240033114",
"text_en": ""
},
{
"key": "skill_1240033115",
"text_en": ""
},
{
"key": "skill_1240033116",
"text_en": ""
},
{
"key": "skill_9240034111",
"text_en": ""
},
{
"key": "skill_9240034112",
"text_en": ""
},
{
"key": "skill_190011000",
"text_en": "Increases all allies\u0027 defense by 30%"
"text_en": "Increases all allies' defense by 30%"
},
{
"key": "skill_190012000",
@ -3193,7 +3281,7 @@
},
{
"key": "skill_190013000",
"text_en": "After each round, Po will enter the [Xuan Yu] state, which lasts for 1 round. At the beginning of his new round, he will deal damage equal to 110% of his defense to all enemies. During the period of [Xuan Yu], every time you receive an attack, you will get 1 layer of [Xuan Yu\u0027s Blessing], but when you are in an immobile state, the [Xuan Yu] state will be released. When any of your own active skills hits the enemy and triggers a critical strike, the cooldown of this skill is reduced for 1 turn"
"text_en": "After each round, Po will enter the [Xuan Yu] state, which lasts for 1 round. At the beginning of his new round, he will deal damage equal to 110% of his defense to all enemies. During the period of [Xuan Yu], every time you receive an attack, you will get 1 layer of [Xuan Yu's Blessing], but when you are in an immobile state, the [Xuan Yu] state will be released. When any of your own active skills hits the enemy and triggers a critical strike, the cooldown of this skill is reduced for 1 turn"
},
{
"key": "skill_190014000",
@ -3209,7 +3297,7 @@
},
{
"key": "skill_190017000",
"text_en": "Poppy clears all allies\u0027 debuffs, and evenly distributes the percentage of allies\u0027 health, adding 2 rounds of [Attack Boost] to all allies"
"text_en": "Poppy clears all allies' debuffs, and evenly distributes the percentage of allies' health, adding 2 rounds of [Attack Boost] to all allies"
},
{
"key": "skill_190018000",
@ -3645,7 +3733,7 @@
},
{
"key": "itemdesc_10011",
"text_en": "The hands don\u0027t move, maybe someone can fix it."
"text_en": "The hands don't move, maybe someone can fix it."
},
{
"key": "itemdesc_10012",
@ -3721,7 +3809,7 @@
},
{
"key": "itemname_10014",
"text_en": "Adventurer\u0027s Medal"
"text_en": "Adventurer's Medal"
},
{
"key": "itemname_10015",
@ -3753,7 +3841,7 @@
},
{
"key": "skillname_190011000",
"text_en": "Captain Po\u0027s skills"
"text_en": "Captain Po's skills"
},
{
"key": "skillname_190012000",
@ -3769,7 +3857,7 @@
},
{
"key": "skillname_190014000",
"text_en": "Captain Poppy\u0027s skills"
"text_en": "Captain Poppy's skills"
},
{
"key": "skillname_190016000",
@ -3891,6 +3979,30 @@
"key": "num_1018",
"text_en": "GOBER BACKSMITH SHOP"
},
{
"key": "num_1019",
"text_en": "chat"
},
{
"key": "num_1020",
"text_en": "World"
},
{
"key": "num_1021",
"text_en": "Guild"
},
{
"key": "num_1022",
"text_en": "Private"
},
{
"key": "num_1023",
"text_en": "Public"
},
{
"key": "num_1024",
"text_en": "System"
},
{
"key": "opencond_name_10001",
"text_en": "INVENTORY"
@ -3949,7 +4061,7 @@
},
{
"key": "hero_help_10005",
"text_en": "不同星级的英雄有不同的等级上限3星为30级4星为40级,5星为50级6星为60级。\u003Cbr/\u003E英雄达到等级上限后需要通过升星进一步提升等级。\u003Cbr/\u003E升星后英雄的属性将得到提升。\u003Cbr/\u003E升星精灵是英雄升星的优质素材"
"text_en": "不同星级的英雄有不同的等级上限3星为30级4星为40级,5星为50级6星为60级。<br/>英雄达到等级上限后,需要通过升星进一步提升等级。<br/>升星后英雄的属性将得到提升。<br/>升星精灵是英雄升星的优质素材"
},
{
"key": "hero_help_10006",
@ -3957,6 +4069,6 @@
},
{
"key": "hero_help_10007",
"text_en": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。\u003Cbr/\u003E如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
"text_en": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。<br/>如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
}
]

View File

@ -3023,6 +3023,10 @@
"key": "skillname_125004311",
"text_tw": ""
},
{
"key": "skillname_925004211",
"text_tw": ""
},
{
"key": "skillname_135002011",
"text_tw": ""
@ -3043,6 +3047,26 @@
"key": "skillname_935002321",
"text_tw": ""
},
{
"key": "skillname_124003011",
"text_tw": ""
},
{
"key": "skillname_124003111",
"text_tw": ""
},
{
"key": "skillname_124003211",
"text_tw": ""
},
{
"key": "skillname_124003311",
"text_tw": ""
},
{
"key": "skillname_924003411",
"text_tw": ""
},
{
"key": "skill_1250040111",
"text_tw": ""
@ -3183,6 +3207,70 @@
"key": "skill_9350023216",
"text_tw": ""
},
{
"key": "skill_1240030111",
"text_tw": ""
},
{
"key": "skill_1240031111",
"text_tw": ""
},
{
"key": "skill_1240031112",
"text_tw": ""
},
{
"key": "skill_1240031113",
"text_tw": ""
},
{
"key": "skill_1240031114",
"text_tw": ""
},
{
"key": "skill_1240031115",
"text_tw": ""
},
{
"key": "skill_1240032111",
"text_tw": ""
},
{
"key": "skill_1240032112",
"text_tw": ""
},
{
"key": "skill_1240033111",
"text_tw": ""
},
{
"key": "skill_1240033112",
"text_tw": ""
},
{
"key": "skill_1240033113",
"text_tw": ""
},
{
"key": "skill_1240033114",
"text_tw": ""
},
{
"key": "skill_1240033115",
"text_tw": ""
},
{
"key": "skill_1240033116",
"text_tw": ""
},
{
"key": "skill_9240034111",
"text_tw": ""
},
{
"key": "skill_9240034112",
"text_tw": ""
},
{
"key": "skill_190011000",
"text_tw": ""
@ -3891,6 +3979,30 @@
"key": "num_1018",
"text_tw": ""
},
{
"key": "num_1019",
"text_tw": ""
},
{
"key": "num_1020",
"text_tw": ""
},
{
"key": "num_1021",
"text_tw": ""
},
{
"key": "num_1022",
"text_tw": ""
},
{
"key": "num_1023",
"text_tw": ""
},
{
"key": "num_1024",
"text_tw": ""
},
{
"key": "opencond_name_10001",
"text_tw": ""

View File

@ -57,7 +57,7 @@
"type": 2,
"title": "【传闻】",
"close": "#ffc73f",
"test": "[name]经过不懈努力,将[item]强化到了\u002B[data]",
"test": "[name]经过不懈努力,将[item]强化到了+[data]",
"data": 12,
"week": [],
"time_h": 0,
@ -68,7 +68,7 @@
"type": 2,
"title": "【传闻】",
"close": "#ffc73f",
"test": "[name]经过不懈努力,将[item]强化到了\u002B[data]",
"test": "[name]经过不懈努力,将[item]强化到了+[data]",
"data": 13,
"week": [],
"time_h": 0,
@ -79,7 +79,7 @@
"type": 2,
"title": "【传闻】",
"close": "#ffc73f",
"test": "[name]经过不懈努力,将[item]强化到了\u002B[data]",
"test": "[name]经过不懈努力,将[item]强化到了+[data]",
"data": 14,
"week": [],
"time_h": 0,
@ -90,7 +90,7 @@
"type": 2,
"title": "【传闻】",
"close": "#ffc73f",
"test": "[name]经过不懈努力,将[item]强化到了\u002B[data]",
"test": "[name]经过不懈努力,将[item]强化到了+[data]",
"data": 15,
"week": [],
"time_h": 0,

View File

@ -1,262 +1,114 @@
[
{
"index": "max_getreward",
"var": "10002,99",
"intr": "领取/赠送奖励"
"max_char": 100,
"task_reset": 8,
"init_gold": 100000,
"init_hero": [
15001,
25001
],
"cameramin": [
0,
0,
0
],
"max_getreward": [
10002,
99
],
"cameramax": [
-1.53,
1.1,
-8
],
"heroshownum": 2,
"equipsuitsum": [
4,
4,
4,
4,
2,
2
],
"friend_maxnum": 50,
"friend_minnum": 0,
"friend_maxgetnum": 20,
"friend_maxsendnum": 50,
"friend_date": 7,
"friend_recordtime": 7,
"friend_black": 50,
"channel_cd_world": 5,
"channel_cd_guild": 3,
"channel_cd_private": 3,
"channel_cd_public": 15,
"channel_lock_icon": 200,
"max_word": 200,
"max_chat": 99,
"max_object": 50,
"load_chat": 10,
"channel_allocation_max": 2000,
"channel_switching_max": 3000,
"draw_toplimit": 9999,
"draw10_star4_max": 8,
"draw10_star5_max": 2,
"draw_floor_star4": 20,
"draw_floor_star5": 100,
"duplicate_removal": 1,
"base_pool_cost": {
"a": "item",
"t": "10001",
"n": 1
},
{
"index": "max_char",
"var": "100",
"intr": "聊天最大输入字符数量"
"camp1_pool_cost": {
"a": "item",
"t": "10002",
"n": 1
},
{
"index": "task_reset",
"var": "8",
"intr": "日/周常任务刷新时间8点"
"camp2_pool_cost": {
"a": "item",
"t": "10003",
"n": 1
},
{
"index": "init_gold",
"var": "100000",
"intr": "初始金币"
"camp3_pool_cost": {
"a": "item",
"t": "10004",
"n": 1
},
{
"index": "init_hero",
"var": "15001,25001",
"intr": "初始英雄"
"camp4_pool_cost": {
"a": "item",
"t": "10005",
"n": 1
},
{
"index": "cameramin",
"var": "0,0,0",
"intr": "镜头坐标最小值"
"camp1_pool1": "camp1_pool",
"camp2_pool1": "camp2_pool",
"camp3_pool1": "camp3_pool",
"camp4_pool1": "camp4_pool",
"base_pool1": {
"s": 1,
"e": 60,
"p": "base_pool1"
},
{
"index": "cameramax",
"var": "-1.53,1.1,-8",
"intr": "镜头坐标最大值"
"base_pool2": {
"s": 61,
"e": 200,
"p": "base_pool2"
},
{
"index": "heroshownum",
"var": "2",
"intr": "播放开场动作角色数量"
"base_pool3": {
"s": 201,
"e": 1000,
"p": "base_pool3"
},
{
"index": "equipsuitsum",
"var": "4,4,4,4,2,2",
"intr": "装备位置对应数量"
"base_pool4": {
"s": 1000,
"e": 99999999,
"p": "base_pool4"
},
{
"index": "friend_maxnum",
"var": "50",
"intr": "最大好友数量"
},
{
"index": "friend_minnum",
"var": "0",
"intr": "最少好友数量"
},
{
"index": "friend_maxgetnum",
"var": "20",
"intr": "每日最大获赠的友情点数量"
},
{
"index": "friend_maxsendnum",
"var": "50",
"intr": "每日最大可送出的友情点数量"
},
{
"index": "friend_date",
"var": "7",
"intr": "申请记录保留时间/天"
},
{
"index": "friend_recordtime",
"var": "7",
"intr": "助战记录保留时间/天"
},
{
"index": "friend_black",
"var": "50",
"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星权重"
"base_pool_star3": 9000,
"base_pool_star4": 900,
"base_pool_star5": 100,
"camp_pool_star3": 9000,
"camp_pool_star4": 900,
"camp_pool_star5": 100,
"gourmet": 500
}
]

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -22,7 +22,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -35,7 +35,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -48,7 +48,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -61,7 +61,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -74,7 +74,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -87,7 +87,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -100,7 +100,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -113,7 +113,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -126,7 +126,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -139,7 +139,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -152,7 +152,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -165,7 +165,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -178,7 +178,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -191,7 +191,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -204,7 +204,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
},
{
@ -217,7 +217,7 @@
},
"skillintr": {
"key": "equip_13215",
"text": "暴击率\u002B20%"
"text": "暴击率+20%"
}
}
]

View File

@ -1,5 +1,6 @@
[
{
"index": 1,
"name": {
"key": "server_10001",
"text": "本地测试服"
@ -9,6 +10,7 @@
"sid": "df01"
},
{
"index": 2,
"name": {
"key": "server_10003",
"text": "和平谷"
@ -18,6 +20,7 @@
"sid": ""
},
{
"index": 3,
"name": {
"key": "debug_server_01",
"text": "lw"
@ -27,6 +30,7 @@
"sid": "dfli01"
},
{
"index": 4,
"name": {
"key": "debug_server_02",
"text": "mxf"
@ -36,6 +40,7 @@
"sid": "dfmxf"
},
{
"index": 5,
"name": {
"key": "server_10004",
"text": "凤凰城"
@ -45,6 +50,7 @@
"sid": ""
},
{
"index": 6,
"name": {
"key": "server_10005",
"text": "翡翠宫"
@ -54,6 +60,7 @@
"sid": ""
},
{
"index": 7,
"name": {
"key": "server_10006",
"text": "乌鸦岭"

View File

@ -1,262 +1,114 @@
[
{
"index": "max_getreward",
"var": "10002,99",
"intr": "领取/赠送奖励"
"max_char": 100,
"task_reset": 8,
"init_gold": 100000,
"init_hero": [
15001,
25001
],
"cameramin": [
0,
0,
0
],
"max_getreward": [
10002,
99
],
"cameramax": [
-1.53,
1.1,
-8
],
"heroshownum": 2,
"equipsuitsum": [
4,
4,
4,
4,
2,
2
],
"friend_maxnum": 50,
"friend_minnum": 0,
"friend_maxgetnum": 20,
"friend_maxsendnum": 50,
"friend_date": 7,
"friend_recordtime": 7,
"friend_black": 50,
"channel_cd_world": 5,
"channel_cd_guild": 3,
"channel_cd_private": 3,
"channel_cd_public": 15,
"channel_lock_icon": 200,
"max_word": 200,
"max_chat": 99,
"max_object": 50,
"load_chat": 10,
"channel_allocation_max": 2000,
"channel_switching_max": 3000,
"draw_toplimit": 9999,
"draw10_star4_max": 8,
"draw10_star5_max": 2,
"draw_floor_star4": 20,
"draw_floor_star5": 100,
"duplicate_removal": 1,
"base_pool_cost": {
"a": "item",
"t": "10001",
"n": 1
},
{
"index": "max_char",
"var": "100",
"intr": "聊天最大输入字符数量"
"camp1_pool_cost": {
"a": "item",
"t": "10002",
"n": 1
},
{
"index": "task_reset",
"var": "8",
"intr": "日/周常任务刷新时间8点"
"camp2_pool_cost": {
"a": "item",
"t": "10003",
"n": 1
},
{
"index": "init_gold",
"var": "100000",
"intr": "初始金币"
"camp3_pool_cost": {
"a": "item",
"t": "10004",
"n": 1
},
{
"index": "init_hero",
"var": "15001,25001",
"intr": "初始英雄"
"camp4_pool_cost": {
"a": "item",
"t": "10005",
"n": 1
},
{
"index": "cameramin",
"var": "0,0,0",
"intr": "镜头坐标最小值"
"camp1_pool1": "camp1_pool",
"camp2_pool1": "camp2_pool",
"camp3_pool1": "camp3_pool",
"camp4_pool1": "camp4_pool",
"base_pool1": {
"s": 1,
"e": 60,
"p": "base_pool1"
},
{
"index": "cameramax",
"var": "-1.53,1.1,-8",
"intr": "镜头坐标最大值"
"base_pool2": {
"s": 61,
"e": 200,
"p": "base_pool2"
},
{
"index": "heroshownum",
"var": "2",
"intr": "播放开场动作角色数量"
"base_pool3": {
"s": 201,
"e": 1000,
"p": "base_pool3"
},
{
"index": "equipsuitsum",
"var": "4,4,4,4,2,2",
"intr": "装备位置对应数量"
"base_pool4": {
"s": 1000,
"e": 99999999,
"p": "base_pool4"
},
{
"index": "friend_maxnum",
"var": "50",
"intr": "最大好友数量"
},
{
"index": "friend_minnum",
"var": "0",
"intr": "最少好友数量"
},
{
"index": "friend_maxgetnum",
"var": "20",
"intr": "每日最大获赠的友情点数量"
},
{
"index": "friend_maxsendnum",
"var": "50",
"intr": "每日最大可送出的友情点数量"
},
{
"index": "friend_date",
"var": "7",
"intr": "申请记录保留时间/天"
},
{
"index": "friend_recordtime",
"var": "7",
"intr": "助战记录保留时间/天"
},
{
"index": "friend_black",
"var": "50",
"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星权重"
"base_pool_star3": 9000,
"base_pool_star4": 900,
"base_pool_star5": 100,
"camp_pool_star3": 9000,
"camp_pool_star4": 900,
"camp_pool_star5": 100,
"gourmet": 500
}
]

View File

@ -4442,10 +4442,10 @@
"y": -0.69,
"z": 0
},
"skill": 190011000,
"skill1": 110031,
"skill2": 110032,
"skill3": 110033,
"skill": 125004011,
"skill1": 125004111,
"skill2": 125004211,
"skill3": 125004311,
"txt": {
"key": "",
"text": ""
@ -4610,10 +4610,10 @@
"y": -0.1,
"z": 0
},
"skill": 190011000,
"skill1": 110091,
"skill2": 110092,
"skill3": 110093,
"skill": 135002011,
"skill1": 135002111,
"skill2": 135002211,
"skill3": 135002311,
"txt": {
"key": "",
"text": ""

View File

@ -171,12 +171,12 @@
{
"a": "attr",
"t": "gold",
"n": 10000
"n": 3000
},
{
"a": "item",
"t": "10011",
"n": 10
"t": "50004",
"n": 15
}
]
},
@ -194,11 +194,11 @@
{
"a": "attr",
"t": "gold",
"n": 20000
"n": 5000
},
{
"a": "item",
"t": "10011",
"t": "50004",
"n": 20
}
]
@ -217,17 +217,17 @@
{
"a": "attr",
"t": "gold",
"n": 30000
"n": 7000
},
{
"a": "item",
"t": "10012",
"n": 10
"t": "50004",
"n": 25
},
{
"a": "item",
"t": "10011",
"n": 10
"t": "50008",
"n": 15
}
]
},
@ -245,16 +245,16 @@
{
"a": "attr",
"t": "gold",
"n": 40000
"n": 9000
},
{
"a": "item",
"t": "10012",
"n": 20
"t": "50012",
"n": 10
},
{
"a": "item",
"t": "10011",
"t": "50008",
"n": 20
}
]
@ -273,17 +273,17 @@
{
"a": "attr",
"t": "gold",
"n": 50000
"n": 11000
},
{
"a": "item",
"t": "10013",
"n": 10
"t": "50012",
"n": 15
},
{
"a": "item",
"t": "10012",
"n": 10
"t": "50008",
"n": 30
}
]
},
@ -301,17 +301,17 @@
{
"a": "attr",
"t": "gold",
"n": 60000
"n": 13000
},
{
"a": "item",
"t": "10013",
"n": 20
"t": "50012",
"n": 30
},
{
"a": "item",
"t": "10012",
"n": 20
"t": "50008",
"n": 40
}
]
},
@ -630,5 +630,163 @@
"n": 20
}
]
},
{
"key": 25,
"hid": "25004",
"phase": 1,
"phasebonus": [
"hp",
"950"
],
"icon": "js_jx_img_icon03",
"condition": 1,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 3000
},
{
"a": "item",
"t": "50004",
"n": 15
}
]
},
{
"key": 26,
"hid": "25004",
"phase": 2,
"phasebonus": [
"def",
"70"
],
"icon": "js_jx_img_icon04",
"condition": 10,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 5000
},
{
"a": "item",
"t": "50004",
"n": 20
}
]
},
{
"key": 27,
"hid": "25004",
"phase": 3,
"phasebonus": [
"190017000",
"3"
],
"icon": "js_jx_img_icon01",
"condition": 20,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 7000
},
{
"a": "item",
"t": "50004",
"n": 25
},
{
"a": "item",
"t": "50008",
"n": 15
}
]
},
{
"key": 28,
"hid": "25004",
"phase": 4,
"phasebonus": [
"defpro",
"100"
],
"icon": "js_jx_img_icon02",
"condition": 30,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 9000
},
{
"a": "item",
"t": "50012",
"n": 10
},
{
"a": "item",
"t": "50008",
"n": 20
}
]
},
{
"key": 29,
"hid": "25004",
"phase": 5,
"phasebonus": [
"speed",
"10"
],
"icon": "js_jx_img_icon03",
"condition": 40,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 11000
},
{
"a": "item",
"t": "50012",
"n": 15
},
{
"a": "item",
"t": "50008",
"n": 30
}
]
},
{
"key": 30,
"hid": "25004",
"phase": 6,
"phasebonus": [
"hppro",
"200"
],
"icon": "js_jx_img_icon04",
"condition": 50,
"phaseneed": [
{
"a": "attr",
"t": "gold",
"n": 13000
},
{
"a": "item",
"t": "50012",
"n": 30
},
{
"a": "item",
"t": "50008",
"n": 40
}
]
}
]

View File

@ -228,5 +228,125 @@
"n": 1
}
]
},
{
"index": "27",
"var": [
{
"a": "item",
"t": "50001",
"n": 200
}
]
},
{
"index": "28",
"var": [
{
"a": "item",
"t": "50002",
"n": 200
}
]
},
{
"index": "29",
"var": [
{
"a": "item",
"t": "50003",
"n": 200
}
]
},
{
"index": "30",
"var": [
{
"a": "item",
"t": "50004",
"n": 200
}
]
},
{
"index": "31",
"var": [
{
"a": "item",
"t": "50005",
"n": 200
}
]
},
{
"index": "32",
"var": [
{
"a": "item",
"t": "50006",
"n": 200
}
]
},
{
"index": "33",
"var": [
{
"a": "item",
"t": "50007",
"n": 200
}
]
},
{
"index": "34",
"var": [
{
"a": "item",
"t": "50008",
"n": 200
}
]
},
{
"index": "35",
"var": [
{
"a": "item",
"t": "50009",
"n": 200
}
]
},
{
"index": "36",
"var": [
{
"a": "item",
"t": "50010",
"n": 200
}
]
},
{
"index": "37",
"var": [
{
"a": "item",
"t": "50011",
"n": 200
}
]
},
{
"index": "38",
"var": [
{
"a": "item",
"t": "50012",
"n": 200
}
]
}
]

View File

@ -33,7 +33,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10002",
@ -69,7 +70,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10003",
@ -105,7 +107,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10004",
@ -141,7 +144,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10005",
@ -177,7 +181,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10006",
@ -213,7 +218,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10007",
@ -249,7 +255,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10008",
@ -285,7 +292,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10009",
@ -321,7 +329,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10010",
@ -357,7 +366,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10011",
@ -393,7 +403,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10012",
@ -429,7 +440,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10013",
@ -465,7 +477,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10014",
@ -501,7 +514,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10015",
@ -537,7 +551,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "10016",
@ -573,7 +588,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "20001",
@ -609,7 +625,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "20002",
@ -645,7 +662,8 @@
"t": "gold",
"n": 1000
}
]
],
"synthetize_deplete": []
},
{
"id": "50001",
@ -681,6 +699,13 @@
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -717,6 +742,13 @@
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -753,6 +785,13 @@
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -789,6 +828,13 @@
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -806,7 +852,7 @@
"effects": "",
"box_id": 50009,
"synthetize_num": 5,
"access": 0,
"access": 50001,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -825,6 +871,13 @@
"t": "50001",
"n": 3
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -842,7 +895,7 @@
"effects": "",
"box_id": 50010,
"synthetize_num": 5,
"access": 0,
"access": 50002,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -861,6 +914,13 @@
"t": "50002",
"n": 3
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -878,7 +938,7 @@
"effects": "",
"box_id": 50011,
"synthetize_num": 5,
"access": 0,
"access": 50003,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -897,6 +957,13 @@
"t": "50003",
"n": 3
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -914,7 +981,7 @@
"effects": "",
"box_id": 50012,
"synthetize_num": 5,
"access": 0,
"access": 50004,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -933,6 +1000,13 @@
"t": "50004",
"n": 3
}
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
@ -950,7 +1024,7 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"access": 50005,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -969,7 +1043,8 @@
"t": "50005",
"n": 3
}
]
],
"synthetize_deplete": []
},
{
"id": "50010",
@ -986,7 +1061,7 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"access": 50006,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -1005,7 +1080,8 @@
"t": "50006",
"n": 3
}
]
],
"synthetize_deplete": []
},
{
"id": "50011",
@ -1022,7 +1098,7 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"access": 50007,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -1041,7 +1117,8 @@
"t": "50007",
"n": 3
}
]
],
"synthetize_deplete": []
},
{
"id": "50012",
@ -1058,7 +1135,7 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": 0,
"access": 50008,
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
@ -1077,6 +1154,7 @@
"t": "50008",
"n": 3
}
]
],
"synthetize_deplete": []
}
]

View File

@ -1,656 +1,765 @@
[
{
"index": "ChineseSimplified",
"keycode": {
"key": "ChineseSimplified",
"text": "ChineseSimplified"
"text": ""
}
},
{
"index": "ChineseTraditional",
"keycode": {
"key": "ChineseTraditional",
"text": "ChineseTraditional"
"text": ""
}
},
{
"index": "English",
"keycode": {
"key": "English",
"text": "English"
"text": ""
}
},
{
"index": "1",
"keycode": {
"key": "1",
"text": "1"
"text": ""
}
},
{
"index": "2",
"keycode": {
"key": "2",
"text": "2"
"text": ""
}
},
{
"index": "3",
"keycode": {
"key": "3",
"text": "3"
"text": ""
}
},
{
"index": "4",
"keycode": {
"key": "4",
"text": "4"
"text": ""
}
},
{
"index": "5",
"keycode": {
"key": "5",
"text": "5"
"text": ""
}
},
{
"index": "6",
"keycode": {
"key": "6",
"text": "6"
"text": ""
}
},
{
"index": "7",
"keycode": {
"key": "7",
"text": "7"
"text": ""
}
},
{
"index": "8",
"keycode": {
"key": "8",
"text": "8"
"text": ""
}
},
{
"index": "9",
"keycode": {
"key": "9",
"text": "9"
"text": ""
}
},
{
"index": "10",
"keycode": {
"key": "10",
"text": "10"
"text": ""
}
},
{
"index": "Login",
"keycode": {
"key": "Login",
"text": "Login"
"text": ""
}
},
{
"index": "MomentDay1",
"keycode": {
"key": "MomentDay1",
"text": "MomentDay1"
"text": ""
}
},
{
"index": "MomentDay2",
"keycode": {
"key": "MomentDay2",
"text": "MomentDay2"
"text": ""
}
},
{
"index": "MomentHour1",
"keycode": {
"key": "MomentHour1",
"text": "MomentHour1"
"text": ""
}
},
{
"index": "MomentHour2",
"keycode": {
"key": "MomentHour2",
"text": "MomentHour2"
"text": ""
}
},
{
"index": "MomentMinutes1",
"keycode": {
"key": "MomentMinutes1",
"text": "MomentMinutes1"
"text": ""
}
},
{
"index": "MomentMinutes2",
"keycode": {
"key": "MomentMinutes2",
"text": "MomentMinutes2"
"text": ""
}
},
{
"index": "MomentSeconds1",
"keycode": {
"key": "MomentSeconds1",
"text": "MomentSeconds1"
"text": ""
}
},
{
"index": "MomentSeconds2",
"keycode": {
"key": "MomentSeconds2",
"text": "MomentSeconds2"
"text": ""
}
},
{
"index": "Tuijian",
"keycode": {
"key": "Tuijian",
"text": "Tuijian"
"text": ""
}
},
{
"index": "Juese",
"keycode": {
"key": "Juese",
"text": "Juese"
"text": ""
}
},
{
"index": "star_2",
"keycode": {
"key": "star_2",
"text": "star_2"
"text": ""
}
},
{
"index": "star_3",
"keycode": {
"key": "star_3",
"text": "star_3"
"text": ""
}
},
{
"index": "star_4",
"keycode": {
"key": "star_4",
"text": "star_4"
"text": ""
}
},
{
"index": "star_5",
"keycode": {
"key": "star_5",
"text": "star_5"
"text": ""
}
},
{
"index": "color_1",
"keycode": {
"key": "color_1",
"text": "color_1"
"text": ""
}
},
{
"index": "color_2",
"keycode": {
"key": "color_2",
"text": "color_2"
"text": ""
}
},
{
"index": "color_3",
"keycode": {
"key": "color_3",
"text": "color_3"
"text": ""
}
},
{
"index": "color_4",
"keycode": {
"key": "color_4",
"text": "color_4"
"text": ""
}
},
{
"index": "color_5",
"keycode": {
"key": "color_5",
"text": "color_5"
"text": ""
}
},
{
"index": "color_6",
"keycode": {
"key": "color_6",
"text": "color_6"
"text": ""
}
},
{
"index": "race_1",
"keycode": {
"key": "race_1",
"text": "race_1"
"text": ""
}
},
{
"index": "race_2",
"keycode": {
"key": "race_2",
"text": "race_2"
"text": ""
}
},
{
"index": "race_3",
"keycode": {
"key": "race_3",
"text": "race_3"
"text": ""
}
},
{
"index": "race_4",
"keycode": {
"key": "race_4",
"text": "race_4"
"text": ""
}
},
{
"index": "job_1",
"keycode": {
"key": "job_1",
"text": "job_1"
"text": ""
}
},
{
"index": "job_2",
"keycode": {
"key": "job_2",
"text": "job_2"
"text": ""
}
},
{
"index": "job_3",
"keycode": {
"key": "job_3",
"text": "job_3"
"text": ""
}
},
{
"index": "job_4",
"keycode": {
"key": "job_4",
"text": "job_4"
"text": ""
}
},
{
"index": "job_5",
"keycode": {
"key": "job_5",
"text": "job_5"
"text": ""
}
},
{
"index": "equip_10001",
"keycode": {
"key": "equip_10001",
"text": "equip_10001"
"text": ""
}
},
{
"index": "equip_10002",
"keycode": {
"key": "equip_10002",
"text": "equip_10002"
"text": ""
}
},
{
"index": "equip_10003",
"keycode": {
"key": "equip_10003",
"text": "equip_10003"
"text": ""
}
},
{
"index": "equip_10004",
"keycode": {
"key": "equip_10004",
"text": "equip_10004"
"text": ""
}
},
{
"index": "equip_10005",
"keycode": {
"key": "equip_10005",
"text": "equip_10005"
"text": ""
}
},
{
"index": "hero_10001",
"keycode": {
"key": "hero_10001",
"text": "hero_10001"
"text": ""
}
},
{
"index": "hero_10002",
"keycode": {
"key": "hero_10002",
"text": "hero_10002"
"text": ""
}
},
{
"index": "hero_10003",
"keycode": {
"key": "hero_10003",
"text": "hero_10003"
"text": ""
}
},
{
"index": "hero_10004",
"keycode": {
"key": "hero_10004",
"text": "hero_10004"
"text": ""
}
},
{
"index": "hero_10005",
"keycode": {
"key": "hero_10005",
"text": "hero_10005"
"text": ""
}
},
{
"index": "hero_10006",
"keycode": {
"key": "hero_10006",
"text": "hero_10006"
"text": ""
}
},
{
"index": "hero_10007",
"keycode": {
"key": "hero_10007",
"text": "hero_10007"
"text": ""
}
},
{
"index": "hero_10008",
"keycode": {
"key": "hero_10008",
"text": "hero_10008"
"text": ""
}
},
{
"index": "nonactivated",
"keycode": {
"key": "nonactivated",
"text": "nonactivated"
"text": ""
}
},
{
"index": "activated",
"keycode": {
"key": "activated",
"text": "activated"
"text": ""
}
},
{
"index": "tips_1001",
"keycode": {
"key": "tips_1001",
"text": "tips_1001"
"text": ""
}
},
{
"index": "tips_1002",
"keycode": {
"key": "tips_1002",
"text": "tips_1002"
"text": ""
}
},
{
"index": "tips_1003",
"keycode": {
"key": "tips_1003",
"text": "tips_1003"
"text": ""
}
},
{
"index": "tips_1004",
"keycode": {
"key": "tips_1004",
"text": "tips_1004"
"text": ""
}
},
{
"index": "num_1001",
"keycode": {
"key": "num_1001",
"text": "num_1001"
"text": ""
}
},
{
"index": "num_1002",
"keycode": {
"key": "num_1002",
"text": "num_1002"
"text": ""
}
},
{
"index": "num_1003",
"keycode": {
"key": "num_1003",
"text": "num_1003"
"text": ""
}
},
{
"index": "num_1004",
"keycode": {
"key": "num_1004",
"text": "num_1004"
"text": ""
}
},
{
"index": "num_1005",
"keycode": {
"key": "num_1005",
"text": "num_1005"
"text": ""
}
},
{
"index": "num_1006",
"keycode": {
"key": "num_1006",
"text": "num_1006"
"text": ""
}
},
{
"index": "num_1007",
"keycode": {
"key": "num_1007",
"text": "num_1007"
"text": ""
}
},
{
"index": "num_1008",
"keycode": {
"key": "num_1008",
"text": "num_1008"
"text": ""
}
},
{
"index": "num_1009",
"keycode": {
"key": "num_1009",
"text": "num_1009"
"text": ""
}
},
{
"index": "num_1010",
"keycode": {
"key": "num_1010",
"text": "num_1010"
"text": ""
}
},
{
"index": "num_1011",
"keycode": {
"key": "num_1011",
"text": "num_1011"
"text": ""
}
},
{
"index": "num_1012",
"keycode": {
"key": "num_1012",
"text": "num_1012"
"text": ""
}
},
{
"index": "num_1013",
"keycode": {
"key": "num_1013",
"text": "num_1013"
"text": ""
}
},
{
"index": "num_1014",
"keycode": {
"key": "num_1014",
"text": "num_1014"
"text": ""
}
},
{
"index": "num_1015",
"keycode": {
"key": "num_1015",
"text": "num_1015"
"text": ""
}
},
{
"index": "num_1016",
"keycode": {
"key": "num_1016",
"text": "num_1016"
"text": ""
}
},
{
"index": "num_1017",
"keycode": {
"key": "num_1017",
"text": "num_1017"
"text": ""
}
},
{
"index": "num_1018",
"keycode": {
"key": "num_1018",
"text": "num_1018"
"text": ""
}
},
{
"index": "opencond_name_10001",
"keycode": {
"key": "opencond_name_10001",
"text": "opencond_name_10001"
"text": ""
}
},
{
"index": "opencond_name_10002",
"keycode": {
"key": "opencond_name_10002",
"text": "opencond_name_10002"
"text": ""
}
},
{
"index": "opencond_name_10003",
"keycode": {
"key": "opencond_name_10003",
"text": "opencond_name_10003"
"text": ""
}
},
{
"index": "opencond_name_10004",
"keycode": {
"key": "opencond_name_10004",
"text": "opencond_name_10004"
"text": ""
}
},
{
"index": "opencond_name_10005",
"keycode": {
"key": "opencond_name_10005",
"text": "opencond_name_10005"
"text": ""
}
},
{
"index": "opencond_name_10006",
"keycode": {
"key": "opencond_name_10006",
"text": "opencond_name_10006"
"text": ""
}
},
{
"index": "opencond_name_10007",
"keycode": {
"key": "opencond_name_10007",
"text": "opencond_name_10007"
"text": ""
}
},
{
"index": "opencond_name_10008",
"keycode": {
"key": "opencond_name_10008",
"text": "opencond_name_10008"
"text": ""
}
},
{
"index": "opencond_name_10009",
"keycode": {
"key": "opencond_name_10009",
"text": "opencond_name_10009"
"text": ""
}
},
{
"index": "opencond_name_10010",
"keycode": {
"key": "opencond_name_10010",
"text": "opencond_name_10010"
"text": ""
}
},
{
"index": "skill_190011000",
"keycode": {
"key": "skill_190011000",
"text": "skill_190011000"
"text": ""
}
},
{
"index": "skill_190012000",
"keycode": {
"key": "skill_190012000",
"text": "skill_190012000"
"text": ""
}
},
{
"index": "skill_190013000",
"keycode": {
"key": "skill_190013000",
"text": "skill_190013000"
"text": ""
}
},
{
"index": "skill_190014000",
"keycode": {
"key": "skill_190014000",
"text": "skill_190014000"
"text": ""
}
},
{
"index": "skill_190015000",
"keycode": {
"key": "skill_190015000",
"text": "skill_190015000"
"text": ""
}
},
{
"index": "skill_190016000",
"keycode": {
"key": "skill_190016000",
"text": "skill_190016000"
"text": ""
}
},
{
"index": "skill_190017000",
"keycode": {
"key": "skill_190017000",
"text": "skill_190017000"
"text": ""
}
},
{
"index": "skill_190018000",
"keycode": {
"key": "skill_190018000",
"text": "skill_190018000"
"text": ""
}
},
{
"index": "skill_190011001",
"keycode": {
"key": "skill_190011001",
"text": "skill_190011001"
"text": ""
}
},
{
"index": "skill_190011002",
"keycode": {
"key": "skill_190011002",
"text": "skill_190011002"
"text": ""
}
},
{
"index": "skill_190011003",
"keycode": {
"key": "skill_190011003",
"text": "skill_190011003"
"text": ""
}
},
{
"index": "skill_190011004",
"keycode": {
"key": "skill_190011004",
"text": "skill_190011004"
"text": ""
}
},
{
"index": "hero_help_10001",
"keycode": {
"key": "hero_help_10001",
"text": "hero_help_10001"
"text": ""
}
},
{
"index": "hero_help_10002",
"keycode": {
"key": "hero_help_10002",
"text": "hero_help_10002"
"text": ""
}
},
{
"index": "hero_help_10003",
"keycode": {
"key": "hero_help_10003",
"text": "hero_help_10003"
"text": ""
}
},
{
"index": "hero_help_10004",
"keycode": {
"key": "hero_help_10004",
"text": "hero_help_10004"
"text": ""
}
},
{
"index": "hero_help_10005",
"keycode": {
"key": "hero_help_10005",
"text": "hero_help_10005"
"text": ""
}
},
{
"index": "hero_help_10006",
"keycode": {
"key": "hero_help_10006",
"text": "hero_help_10006"
"text": ""
}
},
{
"index": "hero_help_10007",
"keycode": {
"key": "hero_help_10007",
"text": "hero_help_10007"
"text": ""
}
}
]

View File

@ -5,7 +5,7 @@
"key": "opencond_name_10002",
"text": "英雄"
},
"main": "{\u0022lv\u0022: 0}",
"main": "{\"lv\": 0}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -21,7 +21,7 @@
"key": "opencond_name_10006",
"text": "背包"
},
"main": "{\u0022lv\u0022: 0}",
"main": "{\"lv\": 0}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -37,7 +37,7 @@
"key": "opencond_name_10003",
"text": "商店"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -53,7 +53,7 @@
"key": "opencond_name_10004",
"text": "好友"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -69,7 +69,7 @@
"key": "opencond_name_10007",
"text": "活动"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -85,7 +85,7 @@
"key": "opencond_name_10005",
"text": "任务"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -101,7 +101,7 @@
"key": "num_1001",
"text": "主线入口"
},
"main": "{\u0022lv\u0022: 0}",
"main": "{\"lv\": 0}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -117,7 +117,7 @@
"key": "num_1002",
"text": "招募"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -133,7 +133,7 @@
"key": "num_1003",
"text": "剧情副本"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -149,7 +149,7 @@
"key": "num_1004",
"text": "武馆入口"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -165,7 +165,7 @@
"key": "num_1005",
"text": "主题活动入口"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -181,7 +181,7 @@
"key": "num_1006",
"text": "迷雾岛屿"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -197,7 +197,7 @@
"key": "num_1007",
"text": "维京远征"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -213,7 +213,7 @@
"key": "num_1008",
"text": "心魔塔"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -229,7 +229,7 @@
"key": "num_1009",
"text": "捕羊大赛"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -245,7 +245,7 @@
"key": "num_1010",
"text": "黑暗料理大赛"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -261,7 +261,7 @@
"key": "num_1011",
"text": "地下角斗场"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -277,7 +277,7 @@
"key": "num_1012",
"text": "疯狂竞技赛"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -293,7 +293,7 @@
"key": "num_1013",
"text": "五侠擂台"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -309,7 +309,7 @@
"key": "num_1014",
"text": "藏书馆"
},
"main": "{\u0022lv\u0022: 0}",
"main": "{\"lv\": 0}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -325,7 +325,7 @@
"key": "num_1015",
"text": "篝火舞会"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -341,7 +341,7 @@
"key": "num_1016",
"text": "商队"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -357,7 +357,7 @@
"key": "num_1017",
"text": "美食馆"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -373,7 +373,7 @@
"key": "num_1018",
"text": "戈伯铁匠铺"
},
"main": "{\u0022lv\u0022: 999}",
"main": "{\"lv\": 999}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -389,7 +389,7 @@
"key": "num_1019",
"text": "聊天"
},
"main": "{\u0022lv\u0022: 10}",
"main": "{\"lv\": 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -405,7 +405,7 @@
"key": "num_1020",
"text": "世界"
},
"main": "{\u0022lv\u0022: 10}",
"main": "{\"lv\": 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -421,7 +421,7 @@
"key": "num_1021",
"text": "公会"
},
"main": "{\u0022lv\u0022: 20}",
"main": "{\"lv\": 20}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -437,7 +437,7 @@
"key": "num_1022",
"text": "私聊"
},
"main": "{\u0022lv\u0022: 15}",
"main": "{\"lv\": 15}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -453,7 +453,7 @@
"key": "num_1023",
"text": "跨服"
},
"main": "{\u0022lv\u0022: 40}",
"main": "{\"lv\": 40}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,
@ -469,7 +469,7 @@
"key": "num_1024",
"text": "系统"
},
"main": "{\u0022lv\u0022: 10}",
"main": "{\"lv\": 10}",
"optional": "",
"wkqbx": 0,
"kqbx": 0,

View File

@ -6759,7 +6759,7 @@
"key": "skillname_125004111",
"text": "波比1技能"
},
"ico": "jn_icon_001",
"ico": "skillicon_004",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
@ -6826,7 +6826,7 @@
"key": "skillname_125004211",
"text": "波比2技能"
},
"ico": "jn_icon_002",
"ico": "skillicon_005",
"act": "Skill_2",
"Type": 2,
"MaxLV": 3,
@ -6875,7 +6875,7 @@
"key": "skillname_125004311",
"text": "波比3技能"
},
"ico": "jn_icon_003",
"ico": "skillicon_006",
"act": "Skill_3",
"Type": 1,
"MaxLV": 5,
@ -6961,7 +6961,7 @@
"key": "skillname_135002111",
"text": "希卡普1技能"
},
"ico": "jn_icon_001",
"ico": "skillicon_007",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
@ -7031,7 +7031,7 @@
"key": "skillname_135002211",
"text": "希卡普2技能"
},
"ico": "jn_icon_002",
"ico": "skillicon_008",
"act": "Skill_2",
"Type": 2,
"MaxLV": 1,
@ -7061,7 +7061,7 @@
"key": "skillname_135002311",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"ico": "skillicon_009",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
@ -7191,5 +7191,241 @@
"skill_9350023216"
],
"buffid": []
},
{
"Id": 124003011,
"Name": {
"key": "skillname_124003011",
"text": "睡神队长技"
},
"ico": "jn_dzj_01",
"act": "",
"Type": 3,
"MaxLV": 1,
"CD": [
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
224003011
]
}
],
"Desc": [
"skill_1240030111"
],
"buffid": []
},
{
"Id": 124003111,
"Name": {
"key": "skillname_124003111",
"text": "睡神1技能"
},
"ico": "jn_icon_001",
"act": "Skill_1",
"Type": 1,
"MaxLV": 5,
"CD": [
0,
0,
0,
0,
0
],
"Target": 4,
"ChildSkill": [
{
"Id": [
224003111,
224003112
]
},
{
"Id": [
224003121,
224003122
]
},
{
"Id": [
224003131,
224003132
]
},
{
"Id": [
224003141,
224003142
]
},
{
"Id": [
224003151,
224003152
]
},
{
"Id": [
224003161,
224003162
]
}
],
"Desc": [
"skill_1240031111",
"skill_1240031112",
"skill_1240031113",
"skill_1240031114",
"skill_1240031115"
],
"buffid": []
},
{
"Id": 124003211,
"Name": {
"key": "skillname_124003211",
"text": "睡神2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 2,
"MaxLV": 2,
"CD": [
4,
3
],
"Target": 1,
"ChildSkill": [
{
"Id": [
224003211,
224003212
]
},
{
"Id": [
224003211,
224003212
]
}
],
"Desc": [
"skill_1240032111",
"skill_1240032112"
],
"buffid": []
},
{
"Id": 124003311,
"Name": {
"key": "skillname_124003311",
"text": "睡神3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
"CD": [
4,
4,
4,
4,
4,
3
],
"Target": 2,
"ChildSkill": [
{
"Id": [
224003311,
224003312,
224003313
]
},
{
"Id": [
224003311,
224003322,
224003323
]
},
{
"Id": [
224003311,
224003332,
224003333
]
},
{
"Id": [
224003311,
224003342,
224003343
]
},
{
"Id": [
224003311,
224003352,
224003353
]
},
{
"Id": [
224003311,
224003362,
224003363
]
}
],
"Desc": [
"skill_1240033111",
"skill_1240033112",
"skill_1240033113",
"skill_1240033114",
"skill_1240033115",
"skill_1240033116"
],
"buffid": []
},
{
"Id": 924003411,
"Name": {
"key": "skillname_924003411",
"text": "睡神2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 4,
"MaxLV": 2,
"CD": [
4,
3
],
"Target": 1,
"ChildSkill": [
{
"Id": [
924003411,
924003412,
924003413
]
},
{
"Id": [
924003411,
924003412,
924003413
]
}
],
"Desc": [
"skill_9240034111",
"skill_9240034112"
],
"buffid": []
}
]

View File

@ -1280,7 +1280,7 @@
},
{
"Id": 290057001,
"Desc": "己方全体增益BUFF持续回合\u002B1",
"Desc": "己方全体增益BUFF持续回合+1",
"From": 1,
"Limit": 5,
"EmitPR": 1000,
@ -1301,7 +1301,7 @@
},
{
"Id": 290058001,
"Desc": "敌方全体减益BUFF持续回合\u002B1",
"Desc": "敌方全体减益BUFF持续回合+1",
"From": 2,
"Limit": 5,
"EmitPR": 1000,
@ -1343,7 +1343,7 @@
},
{
"Id": 290060001,
"Desc": "敌方全体所有技能CD\u002B1",
"Desc": "敌方全体所有技能CD+1",
"From": 2,
"Limit": 5,
"EmitPR": 1000,
@ -3655,7 +3655,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=2,Type=ProBuff,BufPro1=Total_Hp,BufVal1=300,BufQuaType1=1",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=-1,BufPro1=Total_Hp,BufVal1=300,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -3914,7 +3914,7 @@
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=202,val=-1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -3952,7 +3952,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=2,Type=ProBuff,BufPro1=Total_Atk,BufVal1=400,BufQuaType1=1",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=2,BufPro1=Total_Atk,BufVal1=400,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -3971,7 +3971,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004009,Round=2,Type=TagBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004009,Round=2",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -3990,7 +3990,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,Type=ProBuff,BufPro1=DamRe,BufVal1=250,BufQuaType1=1",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,BufPro1=DamRe,BufVal1=250,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4009,7 +4009,7 @@
"Where": [],
"Order": [],
"Type": "AddPas",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,Type=CallSkillPas,PasPr=1000,PasCallType=0,PasId1=425004301",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,PasPr=1000,PasCallType=0,PasId1=290012304",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4028,7 +4028,7 @@
"Where": [],
"Order": [],
"Type": "Tre",
"Argu": "DoVal=1,Pr=1000,ProSou1=1,Pro1=Total_Hp,ProPar1=20,DetTarget1=1",
"Argu": "DoVal=1,Pr=1000,ProSou1=1,Pro1=Total_Hp,ProPar1=200,1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4047,7 +4047,7 @@
"Where": [],
"Order": [],
"Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000",
"Argu": "DoVal=1,Pr=1000,BuffType=1,Id=202,val=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4066,7 +4066,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=2,Type=ProBuff,BufPro1=Total_Hp,BufVal1=300,BufQuaType1=1",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=2,BufPro1=Total_EffHit,BufVal1=400,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4085,7 +4085,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=300",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=300",
"AddEffect": false,
"FollowSK": [
235002113
@ -4106,7 +4106,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=800",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=800",
"AddEffect": false,
"FollowSK": [
235002113
@ -4167,7 +4167,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=900",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=900",
"AddEffect": false,
"FollowSK": [
235002113
@ -4207,7 +4207,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=900",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=900",
"AddEffect": false,
"FollowSK": [
235002113
@ -4247,7 +4247,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1000",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
235002113
@ -4287,7 +4287,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1000",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
235002113
@ -4327,7 +4327,7 @@
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=2,Pro1=Total_Atk,ProPar1=1100",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1100",
"AddEffect": false,
"FollowSK": [
235002113
@ -4367,7 +4367,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390005003,Round=-1,Type=TagBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390005003,Round=-1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4386,7 +4386,7 @@
"Where": [],
"Order": [],
"Type": "AddPas",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=435002201,Round=-1,Type=CallSkillPas,PasPr=1000,PasRouCD=0,PasId1=290012304",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=435002201,Round=-1,PasPr=1000,PasRouCD=0,PasId1=290012304",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4443,7 +4443,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004004,Round=1,Type=TagBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004004,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4465,8 +4465,7 @@
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false,
"FollowSK": [
235002312,
235002313
235002312
],
"SucFollowSK": [],
"FailFollowSK": [],
@ -4491,7 +4490,7 @@
"235002313"
],
"FailFollowSK": [],
"MustHit": true,
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
@ -4505,7 +4504,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,Type=ProBuff,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4695,8 +4694,8 @@
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false,
"FollowSK": [
235002312,
235002313
935002312,
935002314
],
"SucFollowSK": [],
"FailFollowSK": [],
@ -4735,7 +4734,7 @@
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,Type=ProBuff,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390002006,Round=2,BufPro1=MissPr,BufVal1=500,BufQuaType1=0",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
@ -4935,5 +4934,547 @@
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003011,
"Desc": "友方全体效果命中提升30%",
"From": 1,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001001,Round=-1,BufPro1=Total_EffHit,BufVal1=300,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003111,
"Desc": "攻击一个敌方1次伤害为自身攻击力90%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=900",
"AddEffect": false,
"FollowSK": [
224003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003112,
"Desc": "50%概率为目标附加1回合【睡眠】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=500,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003121,
"Desc": "攻击一个敌方1次伤害为自身攻击力100%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
224003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003122,
"Desc": "50%概率为目标附加1回合【睡眠】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=500,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003131,
"Desc": "攻击一个敌方1次伤害为自身攻击力100%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1000",
"AddEffect": false,
"FollowSK": [
224003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003132,
"Desc": "60%概率为目标附加1回合【睡眠】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=600,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003141,
"Desc": "攻击一个敌方1次伤害为自身攻击力100%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1100",
"AddEffect": false,
"FollowSK": [
224003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003142,
"Desc": "60%概率为目标附加1回合【睡眠】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=600,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003151,
"Desc": "攻击一个敌方1次伤害为自身攻击力110%",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=0,Pro1=Total_Atk,ProPar1=1100",
"AddEffect": false,
"FollowSK": [
224003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003152,
"Desc": "70%概率为目标附加1回合【睡眠】",
"From": 4,
"Limit": 1,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=700,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003211,
"Desc": "净化全体友方1个减益",
"From": 1,
"Limit": 10,
"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": 224003212,
"Desc": "为目标附加2回合【速度提升】",
"From": 1,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001003,Round=2,BufPro1=Total_Agi,BufVal1=300,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 924003411,
"Desc": "净化全体友方1个减益",
"From": 1,
"Limit": 10,
"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": 924003412,
"Desc": "为目标附加2回合【速度提升】",
"From": 1,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001003,Round=2,BufPro1=Total_Agi,BufVal1=300,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 924003413,
"Desc": "为目标附加2回合【防御提升】",
"From": 1,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001002,Round=2,BufPro1=Total_Agi,BufVal1=600,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003311,
"Desc": "攻击敌方全体伤害为自身攻击力80%",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "Dmg",
"Argu": "DoVal=1,Pr=1000,ProSou1=1,Pro1=Total_Atk,ProPar1=800",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003312,
"Desc": "降低目标20%行动值",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddActValue",
"Argu": "DoVal=1,Pr=1000,QuaType=0,Val=200",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003313,
"Desc": "80%概率为目标附加1回合【睡眠】",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003322,
"Desc": "降低目标25%行动值",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddActValue",
"Argu": "DoVal=1,Pr=1000,QuaType=0,Val=200",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003323,
"Desc": "80%概率为目标附加1回合【睡眠】",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003332,
"Desc": "降低目标25%行动值",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddActValue",
"Argu": "DoVal=1,Pr=1000,QuaType=0,Val=200",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003333,
"Desc": "90%概率为目标附加1回合【睡眠】",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003342,
"Desc": "降低目标30%行动值",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddActValue",
"Argu": "DoVal=1,Pr=1000,QuaType=0,Val=200",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003343,
"Desc": "90%概率为目标附加1回合【睡眠】",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003352,
"Desc": "降低目标30%行动值",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddActValue",
"Argu": "DoVal=1,Pr=1000,QuaType=0,Val=200",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 224003353,
"Desc": "100%概率为目标附加1回合【睡眠】",
"From": 2,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390004010,Round=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 234006011,
"Desc": "全体速度提升20%",
"From": 1,
"Limit": 10,
"EmitPR": 1000,
"Where": [],
"Order": [],
"Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=390001003,Round=-1,BufPro1=Total_Agi,BufVal1=200,BufQuaType1=1",
"AddEffect": false,
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
}
]

View File

@ -6759,7 +6759,7 @@
"key": "skillname_125004111",
"text": "波比1技能"
},
"ico": "jn_icon_001",
"ico": "skillicon_004",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
@ -6826,7 +6826,7 @@
"key": "skillname_125004211",
"text": "波比2技能"
},
"ico": "jn_icon_002",
"ico": "skillicon_005",
"act": "Skill_2",
"Type": 2,
"MaxLV": 3,
@ -6875,7 +6875,7 @@
"key": "skillname_125004311",
"text": "波比3技能"
},
"ico": "jn_icon_003",
"ico": "skillicon_006",
"act": "Skill_3",
"Type": 1,
"MaxLV": 5,
@ -6961,7 +6961,7 @@
"key": "skillname_135002111",
"text": "希卡普1技能"
},
"ico": "jn_icon_001",
"ico": "skillicon_007",
"act": "Skill_1",
"Type": 1,
"MaxLV": 6,
@ -7031,7 +7031,7 @@
"key": "skillname_135002211",
"text": "希卡普2技能"
},
"ico": "jn_icon_002",
"ico": "skillicon_008",
"act": "Skill_2",
"Type": 2,
"MaxLV": 1,
@ -7061,7 +7061,7 @@
"key": "skillname_135002311",
"text": "希卡普3技能"
},
"ico": "jn_icon_003",
"ico": "skillicon_009",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
@ -7191,5 +7191,241 @@
"skill_9350023216"
],
"buffid": []
},
{
"Id": 124003011,
"Name": {
"key": "skillname_124003011",
"text": "睡神队长技"
},
"ico": "jn_dzj_01",
"act": "",
"Type": 3,
"MaxLV": 1,
"CD": [
-1
],
"Target": 1,
"ChildSkill": [
{
"Id": [
224003011
]
}
],
"Desc": [
"skill_1240030111"
],
"buffid": []
},
{
"Id": 124003111,
"Name": {
"key": "skillname_124003111",
"text": "睡神1技能"
},
"ico": "jn_icon_001",
"act": "Skill_1",
"Type": 1,
"MaxLV": 5,
"CD": [
0,
0,
0,
0,
0
],
"Target": 4,
"ChildSkill": [
{
"Id": [
224003111,
224003112
]
},
{
"Id": [
224003121,
224003122
]
},
{
"Id": [
224003131,
224003132
]
},
{
"Id": [
224003141,
224003142
]
},
{
"Id": [
224003151,
224003152
]
},
{
"Id": [
224003161,
224003162
]
}
],
"Desc": [
"skill_1240031111",
"skill_1240031112",
"skill_1240031113",
"skill_1240031114",
"skill_1240031115"
],
"buffid": []
},
{
"Id": 124003211,
"Name": {
"key": "skillname_124003211",
"text": "睡神2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 2,
"MaxLV": 2,
"CD": [
4,
3
],
"Target": 1,
"ChildSkill": [
{
"Id": [
224003211,
224003212
]
},
{
"Id": [
224003211,
224003212
]
}
],
"Desc": [
"skill_1240032111",
"skill_1240032112"
],
"buffid": []
},
{
"Id": 124003311,
"Name": {
"key": "skillname_124003311",
"text": "睡神3技能"
},
"ico": "jn_icon_003",
"act": "Skill_3",
"Type": 1,
"MaxLV": 6,
"CD": [
4,
4,
4,
4,
4,
3
],
"Target": 2,
"ChildSkill": [
{
"Id": [
224003311,
224003312,
224003313
]
},
{
"Id": [
224003311,
224003322,
224003323
]
},
{
"Id": [
224003311,
224003332,
224003333
]
},
{
"Id": [
224003311,
224003342,
224003343
]
},
{
"Id": [
224003311,
224003352,
224003353
]
},
{
"Id": [
224003311,
224003362,
224003363
]
}
],
"Desc": [
"skill_1240033111",
"skill_1240033112",
"skill_1240033113",
"skill_1240033114",
"skill_1240033115",
"skill_1240033116"
],
"buffid": []
},
{
"Id": 924003411,
"Name": {
"key": "skillname_924003411",
"text": "睡神2技能"
},
"ico": "jn_icon_002",
"act": "Skill_2",
"Type": 4,
"MaxLV": 2,
"CD": [
4,
3
],
"Target": 1,
"ChildSkill": [
{
"Id": [
924003411,
924003412,
924003413
]
},
{
"Id": [
924003411,
924003412,
924003413
]
}
],
"Desc": [
"skill_9240034111",
"skill_9240034112"
],
"buffid": []
}
]

View File

@ -16,7 +16,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -38,7 +52,21 @@
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"position": {
"x": 0,
"y": 207,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -65,7 +93,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -87,7 +129,21 @@
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"position": {
"x": 0,
"y": 207,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -109,7 +165,21 @@
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"position": {
"x": 0,
"y": 207,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -131,7 +201,21 @@
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"position": {
"x": 0,
"y": 207,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -153,7 +237,21 @@
"action": "",
"sound": "",
"place": 1,
"revolve": "180|120|180",
"position": {
"x": 0,
"y": 207,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -175,7 +273,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -197,7 +309,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -219,7 +345,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1
@ -241,7 +381,21 @@
"action": "",
"sound": "",
"place": 0,
"revolve": "180|60|180",
"position": {
"x": 0,
"y": 40,
"z": 900
},
"revolve": {
"x": 0,
"y": -180,
"z": 0
},
"size": {
"x": 4,
"y": 4,
"z": 4
},
"perf": "",
"cg": "",
"skip": 1

View File

@ -25,10 +25,10 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Chat)
this.LoadConfigure(game_chatchannel, cfg.NewGame_chatChannel)
this.LoadConfigure(game_chatsystem, cfg.NewGame_chatSystem)
this.LoadConfigure(game_chatchannel, cfg.NewGamechatChannel)
this.LoadConfigure(game_chatsystem, cfg.NewGamechatSystem)
this.LoadConfigure(game_chatchannelcom, cfg.NewGame_chatChannelCom)
this.LoadConfigure(game_chatchannelcom, cfg.NewGamechatChannelCom)
return
}
@ -36,21 +36,21 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
func (this *configureComp) GetAutoIntoChannelMax() (max int32, err error) {
var (
v interface{}
configure *cfg.Game_chatChannelComData
configure *cfg.GamechatChannelComData
ok bool
)
if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_chatChannelCom).GetDataMap()["channel_allocation_max"]; !ok {
if configure, ok = v.(*cfg.GamechatChannelCom).GetDataMap()["channel_allocation_max"]; !ok {
err = fmt.Errorf("cfg.Game_chatServerGroupData on found channel_allocation_max")
this.module.Errorf("err:%v", err)
return
}
max = configure.Value
if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData channel_allocation_max:%v", v)
err = fmt.Errorf("cfg.GamechatChannelComData channel_allocation_max:%v", v)
}
}
return
@ -60,21 +60,21 @@ func (this *configureComp) GetAutoIntoChannelMax() (max int32, err error) {
func (this *configureComp) GetChanageChannelMax() (max int32, err error) {
var (
v interface{}
configure *cfg.Game_chatChannelComData
configure *cfg.GamechatChannelComData
ok bool
)
if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_chatChannelCom).GetDataMap()["channel_switching_max"]; !ok {
if configure, ok = v.(*cfg.GamechatChannelCom).GetDataMap()["channel_switching_max"]; !ok {
err = fmt.Errorf("cfg.Game_chatServerGroupData on found channel_switching_max")
this.module.Errorf("err:%v", err)
return
}
max = configure.Value
if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData channel_switching_max:%v", v)
err = fmt.Errorf("cfg.GamechatChannelComData channel_switching_max:%v", v)
}
}
return
@ -84,21 +84,21 @@ func (this *configureComp) GetChanageChannelMax() (max int32, err error) {
func (this *configureComp) GetChannelRecordMax() (max int32, err error) {
var (
v interface{}
configure *cfg.Game_chatChannelComData
configure *cfg.GamechatChannelComData
ok bool
)
if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_chatChannelCom).GetDataMap()["max_chat"]; !ok {
if configure, ok = v.(*cfg.GamechatChannelCom).GetDataMap()["max_chat"]; !ok {
err = fmt.Errorf("cfg.Game_chatServerGroupData on found max_chat")
this.module.Errorf("err:%v", err)
return
}
max = configure.Value
if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData max_chat:%v", v)
err = fmt.Errorf("cfg.GamechatChannelComData max_chat:%v", v)
}
}
return
@ -108,21 +108,21 @@ func (this *configureComp) GetChannelRecordMax() (max int32, err error) {
func (this *configureComp) GetChannelReadRecordNum() (max int32, err error) {
var (
v interface{}
configure *cfg.Game_chatChannelComData
configure *cfg.GamechatChannelComData
ok bool
)
if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_chatChannelCom).GetDataMap()["load_chat"]; !ok {
if configure, ok = v.(*cfg.GamechatChannelCom).GetDataMap()["load_chat"]; !ok {
err = fmt.Errorf("cfg.Game_chatServerGroupData on found max_chat")
this.module.Errorf("err:%v", err)
return
}
max = configure.Value
if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData max_chat:%v", v)
err = fmt.Errorf("cfg.GamechatChannelComData max_chat:%v", v)
}
}
return

View File

@ -24,10 +24,10 @@ type MCompConfigure struct {
//组件初始化接口
func (this *MCompConfigure) 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.LoadConfigure(game_global, cfg.NewGame_global)
err = this.LoadConfigure(game_initial, cfg.NewGame_initial)
err = this.LoadConfigure(game_playerlv, cfg.NewGame_playerlv)
err = this.LoadConfigure(game_facemod, cfg.NewGame_facemod)
err = this.LoadConfigure(game_global, cfg.NewGameglobal)
err = this.LoadConfigure(game_initial, cfg.NewGameinitial)
err = this.LoadConfigure(game_playerlv, cfg.NewGameplayerlv)
err = this.LoadConfigure(game_facemod, cfg.NewGamefacemod)
return
}
@ -54,28 +54,24 @@ func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error)
}
//全局配置
func (this *MCompConfigure) GetGlobalConf(key string) string {
func (this *MCompConfigure) GetGlobalConf() *cfg.GameglobalData {
if v, err := this.GetConfigure(game_global); err != nil {
log.Errorf("get global conf err:%v", err)
return ""
return nil
} else {
var (
configure *cfg.Game_global
configure *cfg.Gameglobal
ok bool
)
if configure, ok = v.(*cfg.Game_global); !ok {
if configure, ok = v.(*cfg.Gameglobal); !ok {
log.Errorf("%T no is *cfg.Game_global", v)
return ""
return nil
}
return configure.GetDataList()[0]
}
}
if v, ok := configure.GetDataMap()[key]; ok {
return v.Var
}
}
return ""
}
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Game_initial, err error) {
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Gameinitial, err error) {
var (
v interface{}
ok bool
@ -83,7 +79,7 @@ func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Game_initial, er
if v, err = this.GetConfigure(game_initial); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_initial); !ok {
if configure, ok = v.(*cfg.Gameinitial); !ok {
err = fmt.Errorf("%T no is *cfg.Game_comInitial", v)
return
}
@ -92,11 +88,11 @@ func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Game_initial, er
}
// 主角等级经验配置列表
func (this *MCompConfigure) GetPlayerlvConfList() (list []*cfg.Game_playerlvData) {
func (this *MCompConfigure) GetPlayerlvConfList() (list []*cfg.GameplayerlvData) {
if v, err := this.GetConfigure(game_playerlv); err != nil {
return
} else {
if configure, ok := v.(*cfg.Game_playerlv); !ok {
if configure, ok := v.(*cfg.Gameplayerlv); !ok {
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return
} else {
@ -109,11 +105,11 @@ func (this *MCompConfigure) GetPlayerlvConfList() (list []*cfg.Game_playerlvData
}
// 玩家等级经验配置表
func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.Game_playerlvData) {
func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.GameplayerlvData) {
if v, err := this.GetConfigure(game_playerlv); err != nil {
return
} else {
if configure, ok := v.(*cfg.Game_playerlv); !ok {
if configure, ok := v.(*cfg.Gameplayerlv); !ok {
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return
} else {
@ -126,11 +122,11 @@ func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.Game_playerlvDa
}
// 玩家形象预设配置
func (this *MCompConfigure) GetPlayerFigureConf() (list []*cfg.Game_facemodData) {
func (this *MCompConfigure) GetPlayerFigureConf() (list []*cfg.GamefacemodData) {
if v, err := this.GetConfigure(game_facemod); err != nil {
return
} else {
if configure, ok := v.(*cfg.Game_facemod); !ok {
if configure, ok := v.(*cfg.Gamefacemod); !ok {
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return
} else {

View File

@ -22,6 +22,6 @@ type (
//向多个用户发送消息
SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.CacheUser) (err error)
//校验消耗资源
CheckConsumeRes(uid string, res []*cfg.Game_atn) (code pb.ErrorCode)
CheckConsumeRes(uid string, res []*cfg.Gameatn) (code pb.ErrorCode)
}
)

View File

@ -22,7 +22,7 @@ func (this *apiComp) EquipCheck(session comm.IUserSession, req *pb.EquipmentEqui
func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
confs []*cfg.Game_equipData
confs []*cfg.GameequipData
equipment *pb.DB_Equipment
equipments []*pb.DB_Equipment
updatequipment []*pb.DB_Equipment
@ -33,7 +33,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq)
return
}
//校验数据
confs = make([]*cfg.Game_equipData, len(req.EquipmentId))
confs = make([]*cfg.GameequipData, len(req.EquipmentId))
equipments = make([]*pb.DB_Equipment, len(req.EquipmentId))
//获取英雄数据

View File

@ -27,8 +27,8 @@ func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.EquipmentUp
func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.EquipmentUpgradeReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
conf *cfg.Game_equipData
intensify *cfg.Game_equipIntensifyData
conf *cfg.GameequipData
intensify *cfg.GameequipIntensifyData
equipment *pb.DB_Equipment
modifyequipments []*pb.DB_Equipment
hero *pb.DBHero

View File

@ -25,15 +25,15 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Equipment)
this.LoadConfigure(game_equip, cfg.NewGame_equip)
this.LoadConfigure(equip_attrlibrary, cfg.NewGame_equipAttrlibrary)
this.LoadConfigure(equip_intensify, cfg.NewGame_equipIntensify)
this.LoadConfigure(equip_suit, cfg.NewGame_equipSuit)
this.LoadConfigure(game_equip, cfg.NewGameequip)
this.LoadConfigure(equip_attrlibrary, cfg.NewGameequipAttrlibrary)
this.LoadConfigure(equip_intensify, cfg.NewGameequipIntensify)
this.LoadConfigure(equip_suit, cfg.NewGameequipSuit)
return
}
//获取装备配置数据
func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Game_equip, err error) {
func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Gameequip, err error) {
var (
v interface{}
ok bool
@ -42,7 +42,7 @@ func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Game_equip, e
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_equip); !ok {
if configure, ok = v.(*cfg.Gameequip); !ok {
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err)
return
@ -52,7 +52,7 @@ func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Game_equip, e
}
//获取装备配置数据
func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (configure *cfg.Game_equipData, err error) {
func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (configure *cfg.GameequipData, err error) {
var (
v interface{}
ok bool
@ -61,7 +61,7 @@ func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (config
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_equip).GetDataMap()[equipmentId]; !ok {
if configure, ok = v.(*cfg.Gameequip).GetDataMap()[equipmentId]; !ok {
err = fmt.Errorf("EquipmentConfigure not found:%s ", equipmentId)
this.module.Errorf("err:%v", err)
return
@ -71,7 +71,7 @@ func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (config
}
//获取装备属性表
func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Game_equipAttrlibrary, err error) {
func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.GameequipAttrlibrary, err error) {
var (
v interface{}
ok bool
@ -80,7 +80,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Ga
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_equipAttrlibrary); !ok {
if configure, ok = v.(*cfg.GameequipAttrlibrary); !ok {
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err)
return
@ -90,7 +90,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Ga
}
//获取属性词列表
func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.Game_equipAttrlibraryData, err error) {
func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.GameequipAttrlibraryData, err error) {
var (
v interface{}
ok bool
@ -99,7 +99,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (con
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_equipAttrlibrary).GetDataMap()[key]; !ok {
if configure, ok = v.(*cfg.GameequipAttrlibrary).GetDataMap()[key]; !ok {
err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key)
this.module.Errorf("err:%v", err)
return
@ -109,7 +109,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (con
}
//获取属性词列表
func (this *configureComp) GetEquipmentAttrlibraryConfigureById(Id int32) (configure []*cfg.Game_equipAttrlibraryData, err error) {
func (this *configureComp) GetEquipmentAttrlibraryConfigureById(Id int32) (configure []*cfg.GameequipAttrlibraryData, err error) {
var (
v interface{}
)
@ -117,8 +117,8 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureById(Id int32) (confi
this.module.Errorf("err:%v", err)
return
} else {
configure = make([]*cfg.Game_equipAttrlibraryData, 0)
for _, v1 := range v.(*cfg.Game_equipAttrlibrary).GetDataList() {
configure = make([]*cfg.GameequipAttrlibraryData, 0)
for _, v1 := range v.(*cfg.GameequipAttrlibrary).GetDataList() {
if v1.Libraryid == Id {
configure = append(configure, v1)
}
@ -128,7 +128,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureById(Id int32) (confi
}
//获取武器等级消耗表
func (this *configureComp) GetEquipmentIntensifyConfigure() (configure *cfg.Game_equipIntensify, err error) {
func (this *configureComp) GetEquipmentIntensifyConfigure() (configure *cfg.GameequipIntensify, err error) {
var (
v interface{}
ok bool
@ -137,7 +137,7 @@ func (this *configureComp) GetEquipmentIntensifyConfigure() (configure *cfg.Game
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_equipIntensify); !ok {
if configure, ok = v.(*cfg.GameequipIntensify); !ok {
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err)
return
@ -147,7 +147,7 @@ func (this *configureComp) GetEquipmentIntensifyConfigure() (configure *cfg.Game
}
//获取武器等级消耗表
func (this *configureComp) GetEquipmentIntensifyConfigureById(star, lv int32) (configure *cfg.Game_equipIntensifyData, err error) {
func (this *configureComp) GetEquipmentIntensifyConfigureById(star, lv int32) (configure *cfg.GameequipIntensifyData, err error) {
var (
v interface{}
)
@ -155,7 +155,7 @@ func (this *configureComp) GetEquipmentIntensifyConfigureById(star, lv int32) (c
this.module.Errorf("err:%v", err)
return
} else {
for _, v1 := range v.(*cfg.Game_equipIntensify).GetDataList() {
for _, v1 := range v.(*cfg.GameequipIntensify).GetDataList() {
if v1.Star == star && v1.Level == lv {
configure = v1

View File

@ -70,7 +70,7 @@ func (this *modelEquipmentComp) QueryEquipmentAmount(uid string, equipmentId str
//添加装备
func (this *modelEquipmentComp) AddEquipments(uId string, cIds map[string]uint32) (change []*pb.DB_Equipment, err error) {
var (
configure *cfg.Game_equip
configure *cfg.Gameequip
equipments []*pb.DB_Equipment
iskeep bool
add map[string]*pb.DB_Equipment
@ -137,10 +137,10 @@ func (this *modelEquipmentComp) UpdateByHeroId(uid string, equipments ...*pb.DB_
}
//创建新的武器对象
func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.Game_equipData, num uint32) (equipment *pb.DB_Equipment, err error) {
func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameequipData, num uint32) (equipment *pb.DB_Equipment, err error) {
var (
mattr []*cfg.Game_equipAttrlibraryData
sattr []*cfg.Game_equipAttrlibraryData
mattr []*cfg.GameequipAttrlibraryData
sattr []*cfg.GameequipAttrlibraryData
total int
satterNum int32
)
@ -193,7 +193,7 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.Game_equipDat
}
//升级武器
func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.Game_equipData, intensify *cfg.Game_equipIntensifyData) (err error) {
func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameequipData, intensify *cfg.GameequipIntensifyData) (err error) {
equipment.Lv++
equipment.MainEntry.Lv++
equipment.MainEntry.Value += int32(float64(equipment.MainEntry.Value) * float64(intensify.Bonus) / 1000.0)
@ -201,8 +201,8 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ
return
}
if len(equipment.AdverbEntry) < 4 { //去随机副词条
var temp []*cfg.Game_equipAttrlibraryData
var sattr []*cfg.Game_equipAttrlibraryData
var temp []*cfg.GameequipAttrlibraryData
var sattr []*cfg.GameequipAttrlibraryData
if temp, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil || len(temp) == 0 {
log.Errorf("升级服务错误 读取副词条配置错误!")
return
@ -229,7 +229,7 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ
Value: sattr[index].Attrvar,
})
} else { //随机一个副词条 强化
var attrlibrary *cfg.Game_equipAttrlibraryData
var attrlibrary *cfg.GameequipAttrlibraryData
r := rand.New(rand.NewSource(time.Now().Unix()))
index := r.Perm(len(equipment.AdverbEntry))[0]

View File

@ -6,8 +6,6 @@ import (
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"github.com/spf13/cast"
)
func NewModule() core.IModule {
@ -40,33 +38,33 @@ func (this *Friend) OnInstallComp() {
//获取最大好友数
func (this *Friend) getFriendMax() int {
if maxHy := this.configure.GetGlobalConf("friend_maxnum"); maxHy != "" {
return cast.ToInt(maxHy)
}
// if maxHy := this.configure.GetGlobalConf("friend_maxnum"); maxHy != "" {
// return cast.ToInt(maxHy)
// }
return 0
}
//获取最大黑名单数
func (this *Friend) getBlackMax() int {
if maxHy := this.configure.GetGlobalConf("friend_black"); maxHy != "" {
return cast.ToInt(maxHy)
}
// if maxHy := this.configure.GetGlobalConf("friend_black"); maxHy != "" {
// return cast.ToInt(maxHy)
// }
return 0
}
// 每日最大送出友情点
func (this *Friend) getOutFriendPointMax() int {
if max := this.configure.GetGlobalConf("friend_maxsendnum"); max != "" {
return cast.ToInt(max)
}
// if max := this.configure.GetGlobalConf("friend_maxsendnum"); max != "" {
// return cast.ToInt(max)
// }
return 0
}
// 每日最大获赠友情点
func (this *Friend) getInFriendPointMax() int {
if max := this.configure.GetGlobalConf("friend_maxsendnum"); max != "" {
return cast.ToInt(max)
}
// if max := this.configure.GetGlobalConf("friend_maxsendnum"); max != "" {
// return cast.ToInt(max)
// }
return 0
}

View File

@ -9,7 +9,7 @@ import (
/// </summary>
/// <param name="role">谁的技能</param>
/// <param name="skillConf">技能配置</param>
func newFightAfterSkill(role *FightRole, skillConf *cfg.Game_skillAfteratkData) *FightAfterSkill {
func newFightAfterSkill(role *FightRole, skillConf *cfg.GameskillAfteratkData) *FightAfterSkill {
return &FightAfterSkill{
OwnerRole: role,
SkillConf: skillConf,
@ -20,7 +20,7 @@ type FightAfterSkill struct {
//从哪个技能触发的
OwnerRole *FightRole
//技能配置
SkillConf *cfg.Game_skillAfteratkData
SkillConf *cfg.GameskillAfteratkData
}
/// <summary>

View File

@ -19,7 +19,7 @@ type configureComp struct {
// Init 组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.LoadConfigure(game_msgdistrib, cfg.NewGame_msgdistrib)
this.LoadConfigure(game_msgdistrib, cfg.NewGamemsgdistrib)
return
}
@ -28,13 +28,13 @@ func (this *configureComp) GetMsgDistribute(msgid string) (rule string, ok bool)
var (
err error
v interface{}
item *cfg.Game_msgdistribData
item *cfg.GamemsgdistribData
)
if v, err = this.GetConfigure(game_msgdistrib); err != nil {
ok = false
return
} else {
if item, ok = v.(*cfg.Game_msgdistrib).GetDataMap()[msgid]; ok {
if item, ok = v.(*cfg.Gamemsgdistrib).GetDataMap()[msgid]; ok {
rule = item.Routrules
}
}

View File

@ -37,7 +37,7 @@ func (this *apiComp) Cmd(session comm.IUserSession, req *pb.GMCmdReq) (code pb.E
code = pb.ErrorCode_ReqParameterError
return
}
code = this.module.DispenseRes(session, []*cfg.Game_atn{ // 添加资源
code = this.module.DispenseRes(session, []*cfg.Gameatn{ // 添加资源
{
A: datas[0],
T: datas[1],

View File

@ -22,7 +22,7 @@ func (this *apiComp) AwakenCheck(session comm.IUserSession, req *pb.HeroAwakenRe
/// 英雄觉醒
func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (code pb.ErrorCode, data proto.Message) {
var (
awakenData *cfg.Game_heroAwakenData
awakenData *cfg.GameheroAwakenData
_hero *pb.DBHero
chanegCard []*pb.DBHero // change
)

View File

@ -1,14 +1,8 @@
package hero
import (
"crypto/rand"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math"
"math/big"
"strconv"
"time"
"google.golang.org/protobuf/proto"
)
@ -22,129 +16,134 @@ func (this *apiComp) DrawCardCheck(session comm.IUserSession, req *pb.HeroDrawCa
//抽卡
func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq) (code pb.ErrorCode, data proto.Message) {
var (
szCards []string // 最终抽到的卡牌
totalWeight int64 // 总权重
curWeigth int64 // 临时随机获得的权重
curStar4Count int32 // 当前4星没抽到的次数
curStar5Count int32 // 当前5星没抽到的次数
config4Count int32 // 配置表中4星保底次数
config5Count int32 // 配置表中5星保底次数
race int32
cardW map[string]int32 // 当前卡牌卡池卡牌对应的权重
baodiPool int32 // 保底卡池id
)
// var (
// szCards []string // 最终抽到的卡牌
// totalWeight int64 // 总权重
// curWeigth int64 // 临时随机获得的权重
// curStar4Count int32 // 当前4星没抽到的次数
// curStar5Count int32 // 当前5星没抽到的次数
// config4Count int32 // 配置表中4星保底次数
// config5Count int32 // 配置表中5星保底次数
// race int32
// cardW map[string]int32 // 当前卡牌卡池卡牌对应的权重
// baodiPool int32 // 保底卡池id
// drawCount int32 // 抽卡次数
// )
cardW = make(map[string]int32, 0)
szCards = make([]string, 0)
rsp := &pb.HeroDrawCardResp{}
this.module.Debugf("当前4星抽卡没中次数:%d, 当前5星抽卡没中次数:%d", curStar4Count, curStar5Count)
// cardW = make(map[string]int32, 0)
// szCards = make([]string, 0)
// rsp := &pb.HeroDrawCardResp{}
// this.module.Debugf("当前4星抽卡没中次数:%d, 当前5星抽卡没中次数:%d", curStar4Count, curStar5Count)
curStar4Count, curStar5Count = this.module.modelHero.GetCurStarCount(session.GetUserId(), req.DrawType) // 获取缓存中4,5星没抽到的次数
// 获取配置文件的权重信息
_conf, err := this.module.configure.GetHeroDrawConfig(race)
if err != nil {
code = pb.ErrorCode_DrawCardTypeNotFound // 抽卡类型不匹配
return
}
// 权重赋值
for _, v := range _conf {
cardW[v.Id] += v.Weight
totalWeight += int64(cardW[v.Id])
}
// curStar4Count, curStar5Count, drawCount = this.module.modelHero.GetCurStarCount(session.GetUserId(), req.DrawType) // 获取缓存中4,5星没抽到的次数
// // 获取配置文件的权重信息
// // _conf, err := this.module.configure.GetHeroDrawConfig(race)
// // if err != nil {
// // code = pb.ErrorCode_DrawCardTypeNotFound // 抽卡类型不匹配
// // return
// // }
// // // 权重赋值
// // for _, v := range _conf {
// // cardW[v.Id] += v.Weight
// // totalWeight += int64(cardW[v.Id])
// // }
// ======记录活动数据
cfgData, err := this.module.configure.GetDrawUpDrawConfig()
if err == nil {
for _, v := range cfgData.GetDataList() {
if time.Now().Unix() >= int64(v.TimeOn) && time.Now().Unix() <= int64(v.TimeOff) { // 在这个时间范围之内
for index, v1 := range v.UpHero {
if _, ok := cardW[v1]; ok { // 判断卡池有没有这张卡
cardW[v1] += v.UpWeight[index]
totalWeight += int64(v.UpWeight[index])
}
}
}
}
}
// // ======记录活动数据
// cfgData, err := this.module.configure.GetDrawUpDrawConfig()
// if err == nil {
// for _, v := range cfgData.GetDataList() {
// if time.Now().Unix() >= int64(v.TimeOn) && time.Now().Unix() <= int64(v.TimeOff) { // 在这个时间范围之内
// for index, v1 := range v.UpHero {
// if _, ok := cardW[v1]; ok { // 判断卡池有没有这张卡
// cardW[v1] += v.UpWeight[index]
// totalWeight += int64(v.UpWeight[index])
// }
// }
// }
// }
// }
// =======活动数据记录完成
_costConf, err := this.module.configure.GetDrawCostConfigByID(req.DrawType) // 抽卡消耗
if err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
config4Count = _costConf.Floor4 // 4星保底次数
config5Count = _costConf.Floor5 // 5星保底次数
if config4Count <= 0 { // 小于等于零 表示没有保底
config4Count = math.MaxInt32
}
if config5Count <= 0 { // 小于等于零 表示没有保底
config5Count = math.MaxInt32
}
code = this.module.CheckRes(session, []*cfg.Game_atn{_costConf.Cost}) // 消耗校验
if code != pb.ErrorCode_Success {
return
}
for i := 0; i < int(_costConf.Count); i++ {
n, _ := rand.Int(rand.Reader, big.NewInt(totalWeight)) // [0,totalWeight)
curWeigth = 0
for k, v := range cardW {
curWeigth += int64(v)
if curWeigth > n.Int64() { // 命中
// 获取当前星级
_getCardCfg := this.module.configure.GetHero(k) //获取的英雄信息
if _getCardCfg == nil {
continue
}
curStar4Count++
curStar5Count++
if _getCardCfg.Star == 4 { // 当抽取到的英雄是4星的时候 清除 该类型的保底次数
curStar4Count = 0
} else if _getCardCfg.Star == 5 { // 当抽取到的英雄是5星的时候 清除 该类型的保底次数
curStar5Count = 0 // 清0
}
// 达标保底次数
if curStar4Count >= config4Count {
baodiPool = _costConf.Floor4cards
} else if curStar5Count >= config5Count {
baodiPool = _costConf.Floor5cards
}
if baodiPool != 0 {
id := this.module.modelHero.FloorDrawCard(baodiPool)
if id != "" {
szCards = append(szCards, id) // 保底卡池里的卡放入数组种
break
}
}
szCards = append(szCards, k)
break
}
}
}
raceData := &pb.Floor{
H4: curStar4Count,
H5: curStar5Count,
}
// 更新record 配置信息
update := map[string]interface{}{}
update["race"+strconv.Itoa(int(race)-1)] = raceData
this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
// 消耗道具
code = this.module.ConsumeRes(session, []*cfg.Game_atn{_costConf.Cost}, true)
if code != pb.ErrorCode_Success {
return
}
if err := this.module.modelHero.createMultiHero(session.GetUserId(), szCards...); err != nil {
code = pb.ErrorCode_HeroCreate
return
}
rsp.Heroes = szCards
session.SendMsg(string(this.module.GetType()), DrawCard, rsp)
//_costConf, err := this.module.configure.GetDrawCostConfigByID(req.DrawType) // 抽卡消耗
// if err != nil {
// code = pb.ErrorCode_ConfigNoFound
// return
// }
// config4Count = _costConf.Floor4 // 4星保底次数
// config5Count = _costConf.Floor5 // 5星保底次数
// if config4Count <= 0 { // 小于等于零 表示没有保底
// config4Count = math.MaxInt32
// }
// if config5Count <= 0 { // 小于等于零 表示没有保底
// config5Count = math.MaxInt32
// }
// code = this.module.CheckRes(session, []*cfg.Gameatn{_costConf.Cost}) // 消耗校验
// if code != pb.ErrorCode_Success {
// return
// }
// for i := 0; i < int(_costConf.Count); i++ {
// n, _ := rand.Int(rand.Reader, big.NewInt(totalWeight)) // [0,totalWeight)
// curWeigth = 0
// for k, v := range cardW {
// curWeigth += int64(v)
// if curWeigth > n.Int64() { // 命中
// // 获取当前星级
// _getCardCfg := this.module.configure.GetHero(k) //获取的英雄信息
// if _getCardCfg == nil {
// continue
// }
// curStar4Count++
// curStar5Count++
// if _getCardCfg.Star == 4 { // 当抽取到的英雄是4星的时候 清除 该类型的保底次数
// curStar4Count = 0
// } else if _getCardCfg.Star == 5 { // 当抽取到的英雄是5星的时候 清除 该类型的保底次数
// curStar5Count = 0 // 清0
// }
// // 达标保底次数
// if curStar4Count >= config4Count {
// baodiPool = _costConf.Floor4cards
// } else if curStar5Count >= config5Count {
// baodiPool = _costConf.Floor5cards
// }
// if baodiPool != 0 {
// id := this.module.modelHero.FloorDrawCard(baodiPool)
// if id != "" {
// szCards = append(szCards, id) // 保底卡池里的卡放入数组种
// break
// }
// }
// szCards = append(szCards, k)
// break
// }
// }
// }
// raceData := &pb.Floor{
// H4: curStar4Count,
// H5: curStar5Count,
// }
// // 更新record 配置信息
// update := map[string]interface{}{}
// if drawCount != -1 {
// drawCount += _costConf.Count
// update["drawcount"] = drawCount
// }
// update["race"+strconv.Itoa(int(race)-1)] = raceData
// this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update)
// // 消耗道具
// code = this.module.ConsumeRes(session, []*cfg.Gameatn{_costConf.Cost}, true)
// if code != pb.ErrorCode_Success {
// return
// }
// if err := this.module.modelHero.createMultiHero(session.GetUserId(), szCards...); err != nil {
// code = pb.ErrorCode_HeroCreate
// return
// }
// rsp.Heroes = szCards
// session.SendMsg(string(this.module.GetType()), DrawCard, rsp)
return
}

View File

@ -33,7 +33,7 @@ func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.He
/// 英雄升星
func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStrengthenUpStarReq) (code pb.ErrorCode, data proto.Message) {
var (
target *cfg.Game_heroStarupData // 配置表目标升星英雄信息
target *cfg.GameheroStarupData // 配置表目标升星英雄信息
costNeedHeroCount int32 // 消耗指定英雄的数量
costRaceHeroCount int32 // 消耗种族英雄的数量
_hero *pb.DBHero // 目标英雄

View File

@ -3,6 +3,7 @@ package hero
import (
"fmt"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/lego/core"
@ -28,6 +29,8 @@ const (
///配置管理组件
type configureComp struct {
modules.MCompConfigure
drawCardCfg map[string]map[int32][]*cfg.GamedrawCardData // 第一个key 卡池id 第二个key 星级
//map["base_pool1"]map[3]*cfg.Game_drawCardData
}
//组件初始化接口
@ -35,27 +38,58 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.MCompConfigure.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{
new_hero: cfg.NewGame_hero,
hero_stargrow: cfg.NewGame_heroStargrow,
hero_levelgrow: cfg.NewGame_heroLevelgrow,
hero_starup: cfg.NewGame_heroStarup,
hero_levelup: cfg.NewGame_heroLevelup,
hero_exp: cfg.NewGame_heroExp,
hero_skillup: cfg.NewGame_heroSkillLevel,
game_skillatk: cfg.NewGame_skillAtk,
hero_resonance: cfg.NewGame_heroResonance,
hero_comatn: cfg.NewGame_comAtn,
hero_awaken: cfg.NewGame_heroAwaken,
hero_drawcard: cfg.NewGame_drawCard,
new_hero: cfg.NewGamehero,
hero_stargrow: cfg.NewGameheroStargrow,
hero_levelgrow: cfg.NewGameheroLevelgrow,
hero_starup: cfg.NewGameheroStarup,
hero_levelup: cfg.NewGameheroLevelup,
hero_exp: cfg.NewGameheroExp,
hero_skillup: cfg.NewGameheroSkillLevel,
game_skillatk: cfg.NewGameskillAtk,
hero_resonance: cfg.NewGameheroResonance,
hero_comatn: cfg.NewGamecomAtn,
hero_awaken: cfg.NewGameheroAwaken,
hero_drawcard: cfg.NewGamedrawCard,
hero_drawupdraw: cfg.NewGame_drawUpdraw,
hero_drawcost: cfg.NewGame_drawCost,
//hero_drawcost: cfg.NewGamedrawCost,
})
this.drawCardCfg = make(map[string]map[int32][]*cfg.GamedrawCardData, 0)
configure.RegisterConfigure(hero_drawcard, cfg.NewGamedrawCard, func() {
this.GetHeroDrawConfig()
})
return
}
// 抽卡配置表
func (this *configureComp) GetHeroDrawConfig() (err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(hero_drawcard); err == nil {
if _configure, ok := v.(*cfg.GamedrawCard); !ok {
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
return
} else {
for _, v := range _configure.GetDataList() {
if _, ok := this.drawCardCfg[v.CardPoolType]; !ok {
this.drawCardCfg[v.CardPoolType] = make(map[int32][]*cfg.GamedrawCardData, 0)
}
if _, ok := this.drawCardCfg[v.CardPoolType][v.Star]; !ok {
this.drawCardCfg[v.CardPoolType][v.Star] = make([]*cfg.GamedrawCardData, 0)
}
this.drawCardCfg[v.CardPoolType][v.Star] = append(this.drawCardCfg[v.CardPoolType][v.Star], v)
}
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
}
return
}
//获取英雄配置数据
func (this *configureComp) getHeroConfigure() (configure *cfg.Game_hero, err error) {
func (this *configureComp) getHeroConfigure() (configure *cfg.Gamehero, err error) {
var (
v interface{}
ok bool
@ -64,40 +98,40 @@ func (this *configureComp) getHeroConfigure() (configure *cfg.Game_hero, err err
if v, err = this.GetConfigure(new_hero); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_hero); !ok {
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
if configure, ok = v.(*cfg.Gamehero); !ok {
err = fmt.Errorf("%T no is *cfg.Gamehero", v)
}
}
return
}
// 获取英雄强化增加属性配置数据
func (this *configureComp) GetHeroStargrowConfig() (configure *cfg.Game_heroStargrow, err error) {
func (this *configureComp) GetHeroStargrowConfig() (configure *cfg.GameheroStargrow, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_stargrow); err == nil {
if configure, ok = v.(*cfg.Game_heroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
if configure, ok = v.(*cfg.GameheroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.Gamehero", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
err = fmt.Errorf("%T no is *cfg.Gamehero", v)
}
return
}
// 获取英雄升级属性变化相关配置数据
func (this *configureComp) GetHeroLevelgrowConfig() (configure *cfg.Game_heroLevelgrow, err error) {
func (this *configureComp) GetHeroLevelgrowConfig() (configure *cfg.GameheroLevelgrow, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_levelgrow); err == nil {
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v)
if configure, ok = v.(*cfg.GameheroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroLevelgrow", v)
return
}
@ -106,71 +140,71 @@ func (this *configureComp) GetHeroLevelgrowConfig() (configure *cfg.Game_heroLev
}
// 获取英雄升星相关配置数据
func (this *configureComp) GetHeroStarupConfig() (configure *cfg.Game_heroStarup, err error) {
func (this *configureComp) GetHeroStarupConfig() (configure *cfg.GameheroStarup, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_starup); err == nil {
if configure, ok = v.(*cfg.Game_heroStarup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v)
if configure, ok = v.(*cfg.GameheroStarup); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroStarup", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v)
err = fmt.Errorf("%T no is *cfg.GameheroStarup", v)
}
return
}
// 获取英雄升级相关配置数据
func (this *configureComp) GetHeroLevelUpConfig() (configure *cfg.Game_heroLevelup, err error) {
func (this *configureComp) GetHeroLevelUpConfig() (configure *cfg.GameheroLevelup, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_levelup); err == nil {
if configure, ok = v.(*cfg.Game_heroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v)
if configure, ok = v.(*cfg.GameheroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v)
err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
}
return
}
func (this *configureComp) GetHeroExpConfig() (configure *cfg.Game_heroExp, err error) {
func (this *configureComp) GetHeroExpConfig() (configure *cfg.GameheroExp, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_exp); err == nil {
if configure, ok = v.(*cfg.Game_heroExp); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
if configure, ok = v.(*cfg.GameheroExp); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
}
return
}
func (this *configureComp) GetHeroExp(hid string) *cfg.Game_heroExpData {
func (this *configureComp) GetHeroExp(hid string) *cfg.GameheroExpData {
if v, err := this.GetConfigure(hero_exp); err == nil {
if configure, ok := v.(*cfg.Game_heroExp); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
if configure, ok := v.(*cfg.GameheroExp); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
return nil
} else {
return configure.Get(hid)
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
}
return nil
}
//英雄等级基础属性
func (this *configureComp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, err error) {
func (this *configureComp) GetHeroLevelup() (configure *cfg.GameheroLevelup, err error) {
var (
v interface{}
ok bool
@ -178,8 +212,8 @@ func (this *configureComp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, er
if v, err = this.GetConfigure(hero_levelup); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_heroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v)
if configure, ok = v.(*cfg.GameheroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
return
}
}
@ -187,7 +221,7 @@ func (this *configureComp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, er
}
//英雄品质系数
func (this *configureComp) GetHeroStargrow() (configure *cfg.Game_heroStargrow, err error) {
func (this *configureComp) GetHeroStargrow() (configure *cfg.GameheroStargrow, err error) {
var (
v interface{}
ok bool
@ -195,8 +229,8 @@ func (this *configureComp) GetHeroStargrow() (configure *cfg.Game_heroStargrow,
if v, err = this.GetConfigure(hero_stargrow); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_heroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroStargrow", v)
if configure, ok = v.(*cfg.GameheroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroStargrow", v)
return
}
}
@ -204,7 +238,7 @@ func (this *configureComp) GetHeroStargrow() (configure *cfg.Game_heroStargrow,
}
//获取英雄配置
func (this *configureComp) GetHero(heroCfgId string) *cfg.Game_heroData {
func (this *configureComp) GetHero(heroCfgId string) *cfg.GameheroData {
cfg, err := this.getHeroConfigure()
if err != nil {
return nil
@ -216,7 +250,7 @@ func (this *configureComp) GetHero(heroCfgId string) *cfg.Game_heroData {
}
//获取英雄星级配置
func (this *configureComp) GetHeroStar(star int32) *cfg.Game_heroStargrowData {
func (this *configureComp) GetHeroStar(star int32) *cfg.GameheroStargrowData {
cfg, err := this.GetHeroStargrow()
if err != nil {
return nil
@ -229,7 +263,7 @@ func (this *configureComp) GetHeroStar(star int32) *cfg.Game_heroStargrowData {
}
//获取英雄等级配置
func (this *configureComp) GetHeroLv(lv int32) *cfg.Game_heroLevelupData {
func (this *configureComp) GetHeroLv(lv int32) *cfg.GameheroLevelupData {
cfg, err := this.GetHeroLevelup()
if err != nil {
return nil
@ -241,7 +275,7 @@ func (this *configureComp) GetHeroLv(lv int32) *cfg.Game_heroLevelupData {
}
// 英雄成长系数
func (this *configureComp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow, err error) {
func (this *configureComp) GetHeroLevelgrow() (configure *cfg.GameheroLevelgrow, err error) {
var (
v interface{}
ok bool
@ -249,8 +283,8 @@ func (this *configureComp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow
if v, err = this.GetConfigure(hero_levelgrow); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v)
if configure, ok = v.(*cfg.GameheroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroLevelgrow", v)
return
}
}
@ -258,7 +292,7 @@ func (this *configureComp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow
}
//英雄成长配置
func (this *configureComp) GetHeroLvgrow(heroId string) *cfg.Game_heroLevelgrowData {
func (this *configureComp) GetHeroLvgrow(heroId string) *cfg.GameheroLevelgrowData {
cfg, err := this.GetHeroLevelgrow()
if err != nil {
return nil
@ -270,10 +304,10 @@ func (this *configureComp) GetHeroLvgrow(heroId string) *cfg.Game_heroLevelgrowD
}
// 获取英雄技能升级相关信息
func (this *configureComp) GetHeroSkillUpConfig(skillid int32) (data *cfg.Game_heroSkillLevelData) {
func (this *configureComp) GetHeroSkillUpConfig(skillid int32) (data *cfg.GameheroSkillLevelData) {
if v, err := this.GetConfigure(hero_skillup); err == nil {
if conf, ok := v.(*cfg.Game_heroSkillLevel); ok {
if conf, ok := v.(*cfg.GameheroSkillLevel); ok {
data = conf.Get(skillid)
return
}
@ -286,7 +320,7 @@ func (this *configureComp) GetHeroSkillUpConfig(skillid int32) (data *cfg.Game_h
func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 {
if v, err := this.GetConfigure(game_skillatk); err == nil {
if configure, ok := v.(*cfg.Game_skillAtk); ok {
if configure, ok := v.(*cfg.GameskillAtk); ok {
return configure.Get(int32(skillId)).MaxLV
}
}
@ -295,31 +329,31 @@ func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 {
}
// 通过英雄配置ID获取共鸣配置信息
func (this *configureComp) GetHeroResonanceConfig(cardConfigID string) (data *cfg.Game_heroResonanceData, err error) {
func (this *configureComp) GetHeroResonanceConfig(cardConfigID string) (data *cfg.GameheroResonanceData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(hero_resonance); err == nil {
if configure, ok := v.(*cfg.Game_heroResonance); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroResonance", v)
if configure, ok := v.(*cfg.GameheroResonance); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroResonance", v)
return
} else {
data = configure.Get(cardConfigID)
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroResonance", v)
err = fmt.Errorf("%T no is *cfg.GameheroResonance", v)
}
return
}
func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.Game_comAtnData, err error) {
func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.GamecomAtnData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(hero_comatn); err == nil {
if configure, ok := v.(*cfg.Game_comAtn); !ok {
err = fmt.Errorf("%T no is *cfg.Game_comAtn", v)
if configure, ok := v.(*cfg.GamecomAtn); !ok {
err = fmt.Errorf("%T no is *cfg.GamecomAtn", v)
return
} else {
data = configure.Get("hero_reset")
@ -330,41 +364,18 @@ func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.Game_comAtnDa
return
}
func (this *configureComp) GetHeroAwakenConfig() (configure *cfg.Game_heroAwaken, err error) {
func (this *configureComp) GetHeroAwakenConfig() (configure *cfg.GameheroAwaken, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_awaken); err == nil {
if configure, ok = v.(*cfg.Game_heroAwaken); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroAwaken", v)
if configure, ok = v.(*cfg.GameheroAwaken); !ok {
err = fmt.Errorf("%T no is *cfg.GameheroAwaken", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_heroAwaken", v)
}
return
}
// 抽卡配置表
func (this *configureComp) GetHeroDrawConfig(typeid int32) (card []*cfg.Game_drawCardData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(hero_drawcard); err == nil {
if _configure, ok := v.(*cfg.Game_drawCard); !ok {
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
return
} else {
for _, v := range _configure.GetDataList() {
if v.TypeId == typeid {
card = append(card, v)
}
}
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
err = fmt.Errorf("%T no is *cfg.GameheroAwaken", v)
}
return
@ -387,40 +398,3 @@ func (this *configureComp) GetDrawUpDrawConfig() (configure *cfg.Game_drawUpdraw
return
}
// 抽卡消耗
func (this *configureComp) GetDrawCostConfig() (configure *cfg.Game_drawCost, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(hero_drawcost); err == nil {
if configure, ok = v.(*cfg.Game_drawCost); !ok {
err = fmt.Errorf("%T no is *cfg.Game_drawCost", v)
return
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_drawCost", v)
}
return
}
func (this *configureComp) GetDrawCostConfigByID(id int32) (data *cfg.Game_drawCostData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(hero_drawcost); err == nil {
if configure, ok := v.(*cfg.Game_drawCost); !ok {
err = fmt.Errorf("%T no is *cfg.Game_drawCost", v)
return
} else {
data = configure.Get(id)
}
} else {
err = fmt.Errorf("%T no is *cfg.Game_drawCost", v)
}
return
}

View File

@ -1,7 +1,6 @@
package hero
import (
"crypto/rand"
"errors"
"fmt"
"go_dreamfactory/comm"
@ -9,7 +8,6 @@ import (
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"math"
"math/big"
mengine "github.com/dengsgo/math-engine/engine"
"go.mongodb.org/mongo-driver/bson/primitive"
@ -525,7 +523,7 @@ func (this *ModelHero) RemoveUserHeroInfo(session comm.IUserSession) (err error)
}
// 获取抽卡保底相关数据
func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Count int32, curStar5Count int32) {
func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Count int32, curStar5Count int32, drawCount int32) {
var race int32
rst, _ := this.moduleHero.modelRecord.GetHeroRecord(uid)
if drawType%2 == 0 { // 转成对应阵营信息 1~5
@ -533,13 +531,13 @@ func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Coun
} else {
race = int32(int(drawType+1) / 2)
}
drawCount = -1
if race == comm.RacePt { // 普通卡池
if rst.Race0 != nil {
curStar4Count = rst.Race0.H4
curStar5Count = rst.Race0.H5
}
drawCount = rst.Drawcount
} else if race == comm.RaceZr { // 灼热
if rst.Race1 != nil {
curStar4Count = rst.Race1.H4
@ -561,27 +559,28 @@ func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Coun
curStar5Count = rst.Race4.H5
}
}
return
}
// 保底抽卡 (参数 卡池id, 返回抽到卡配置id)
func (this *ModelHero) FloorDrawCard(Cardpool int32) (cardId string) {
_bd, err := this.moduleHero.configure.GetHeroDrawConfig(Cardpool)
if err == nil && len(_bd) != 0 {
var _totalW int64 // 总权重
var _tmpW int64 // 临时权重
for _, v := range _bd {
_totalW += int64(v.Weight)
}
// 随机权重
n, _ := rand.Int(rand.Reader, big.NewInt(_totalW))
for _, v := range _bd {
_tmpW += int64(v.Weight)
if n.Int64() < _tmpW { // 种族保底卡池命中
cardId = v.Id
break
}
}
}
// _bd, err := this.moduleHero.configure.GetHeroDrawConfig(Cardpool)
// if err == nil && len(_bd) != 0 {
// var _totalW int64 // 总权重
// var _tmpW int64 // 临时权重
// for _, v := range _bd {
// _totalW += int64(v.Weight)
// }
// // 随机权重
// n, _ := rand.Int(rand.Reader, big.NewInt(_totalW))
// for _, v := range _bd {
// _tmpW += int64(v.Weight)
// if n.Int64() < _tmpW { // 种族保底卡池命中
// cardId = v.Id
// break
// }
// }
// }
return
}

View File

@ -21,8 +21,8 @@ func (this *apiComp) SellItem(session comm.IUserSession, req *pb.ItemsSellItemRe
var (
err error
item *pb.DB_UserItemData
itemcf *cfg.Game_itemData
sale []*cfg.Game_atn
itemcf *cfg.GameitemData
sale []*cfg.Gameatn
)
if code = this.SellItemCheck(session, req); code != pb.ErrorCode_Success {
return
@ -40,7 +40,7 @@ func (this *apiComp) SellItem(session comm.IUserSession, req *pb.ItemsSellItemRe
this.module.Errorf("SellItemCheck over all amount:[%d:%d]", req.Amount, item.Amount)
return
}
sale = make([]*cfg.Game_atn, len(itemcf.Sale))
sale = make([]*cfg.Gameatn, len(itemcf.Sale))
for i, v := range itemcf.Sale {
temp := *v
sale[i] = &temp

View File

@ -21,8 +21,8 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
var (
err error
item *pb.DB_UserItemData
itemcf *cfg.Game_itemData
prop []*cfg.Game_propsgroupData
itemcf *cfg.GameitemData
prop []*cfg.GamepropsgroupData
)
if code = this.UseitemCheck(session, req); code != pb.ErrorCode_Success {
return
@ -60,11 +60,11 @@ 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 {
return
}
var sale []*cfg.Game_atn
var sale []*cfg.Gameatn
for _, v := range prop {
if v.Key == req.Select {
for _, v1 := range v.Prize {
sale = append(sale, &cfg.Game_atn{
sale = append(sale, &cfg.Gameatn{
A: v1.A,
T: v1.T,
N: v1.N * int32(req.Amount),
@ -86,7 +86,7 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
code = pb.ErrorCode_ConfigNoFound
return
}
sale := make([]*cfg.Game_atn, 0)
sale := make([]*cfg.Gameatn, 0)
for range sale {
sale = append(sale, RandomProps(prop).Prize...)
}
@ -101,10 +101,10 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
code = pb.ErrorCode_ConfigNoFound
return
}
sale := make([]*cfg.Game_atn, len(prop))
sale := make([]*cfg.Gameatn, len(prop))
for _, v := range prop {
for _, v1 := range v.Prize {
sale = append(sale, &cfg.Game_atn{
sale = append(sale, &cfg.Gameatn{
A: v1.A,
T: v1.T,
N: v1.N * int32(req.Amount),
@ -130,10 +130,10 @@ func (this *apiComp) Useitem(session comm.IUserSession, req *pb.ItemsUseItemReq)
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, 0, len(prop))
sale := make([]*cfg.Game_atn, len(prop))
for _, v := range prop {
for _, v1 := range v.Prize {
sale = append(sale, &cfg.Game_atn{
sale = append(sale, &cfg.Gameatn{
A: v1.A,
T: v1.T,
N: v1.N * int32(req.Amount),

View File

@ -22,23 +22,23 @@ type ConfigureComp struct {
modules.MCompConfigure
module *Items
lock sync.RWMutex
propsgroup map[int32][]*cfg.Game_propsgroupData
propsgroup map[int32][]*cfg.GamepropsgroupData
}
//组件初始化接口
func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Items)
this.propsgroup = make(map[int32][]*cfg.Game_propsgroupData)
err = this.LoadConfigure(game_item, cfg.NewGame_item)
err = configure.RegisterConfigure(game_propsgroup, cfg.NewGame_propsgroup, func() {
this.propsgroup = make(map[int32][]*cfg.GamepropsgroupData)
err = this.LoadConfigure(game_item, cfg.NewGameitem)
err = configure.RegisterConfigure(game_propsgroup, cfg.NewGamepropsgroup, func() {
if v, err := this.GetConfigure(game_propsgroup); err == nil {
if configure, ok := v.(*cfg.Game_propsgroup); ok {
if configure, ok := v.(*cfg.Gamepropsgroup); 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] = make([]*cfg.GamepropsgroupData, 0)
}
this.propsgroup[value.Group] = append(this.propsgroup[value.Group], value)
}
@ -52,7 +52,7 @@ func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp
}
//读取物品配置
func (this *ConfigureComp) GetItemsConfigure() (items map[string]*cfg.Game_itemData, err error) {
func (this *ConfigureComp) GetItemsConfigure() (items map[string]*cfg.GameitemData, err error) {
var (
v interface{}
)
@ -60,13 +60,13 @@ func (this *ConfigureComp) GetItemsConfigure() (items map[string]*cfg.Game_itemD
this.module.Errorf("err:%v", err)
return
} else {
items = v.(*cfg.Game_item).GetDataMap()
items = v.(*cfg.Gameitem).GetDataMap()
}
return
}
//读取物品配置
func (this *ConfigureComp) GetItemConfigure(id string) (item *cfg.Game_itemData, err error) {
func (this *ConfigureComp) GetItemConfigure(id string) (item *cfg.GameitemData, err error) {
var (
v interface{}
ok bool
@ -75,7 +75,7 @@ func (this *ConfigureComp) GetItemConfigure(id string) (item *cfg.Game_itemData,
this.module.Errorf("err:%v", err)
return
} else {
if item, ok = v.(*cfg.Game_item).GetDataMap()[id]; !ok {
if item, ok = v.(*cfg.Gameitem).GetDataMap()[id]; !ok {
err = fmt.Errorf("no found item:%s configure", id)
this.module.Errorf("err:%v", err)
return
@ -89,8 +89,8 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
result = make([]*pb.DB_UserItemData, 0, len(itmes))
var (
v interface{}
table *cfg.Game_item
item *cfg.Game_itemData
table *cfg.Gameitem
item *cfg.GameitemData
ok bool
err error
)
@ -98,7 +98,7 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
this.module.Errorf("err:%v", err)
return
} else {
table = v.(*cfg.Game_item)
table = v.(*cfg.Gameitem)
for _, v := range itmes {
if item, ok = table.GetDataMap()[v.ItemId]; ok {
if item.Bagtype == bagtype {
@ -113,7 +113,7 @@ 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.GamepropsgroupData, err error) {
var ok bool
this.lock.RLock()
result, ok = this.propsgroup[gid]

View File

@ -27,7 +27,7 @@ var (
)
//随机权重宝箱
func RandomProps(group []*cfg.Game_propsgroupData) (prop *cfg.Game_propsgroupData) {
func RandomProps(group []*cfg.GamepropsgroupData) (prop *cfg.GamepropsgroupData) {
if group == nil || len(group) == 0 {
return
}

View File

@ -204,7 +204,7 @@ func (this *ModelItemsComp) AddItemsToUserPack(uId string, items map[string]int3
///修改指定格子的物品数量
func (this *ModelItemsComp) AddItemToUserPackByGrid(uId string, gridid string, addnum int32) (change []*pb.DB_UserItemData, err error) {
var (
conf *cfg.Game_itemData
conf *cfg.GameitemData
itme *pb.DB_UserItemData
num int64
amount int64
@ -248,7 +248,7 @@ func (this *ModelItemsComp) AddItemToUserPackByGrid(uId string, gridid string, a
func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserItemData, itemId string, addnum int32) (add, update, del []*pb.DB_UserItemData, leftnum int64) {
var (
err error
conf *cfg.Game_itemData
conf *cfg.GameitemData
num int64
isNew bool
)

View File

@ -34,9 +34,9 @@ func (this *apiComp) GetUserMailAttachment(session comm.IUserSession, req *pb.Ma
_data, err := this.module.modelMail.MailGetMailAttachment(req.ObjID)
if err == nil {
if len(_data) > 0 {
res := make([]*cfg.Game_atn, 0)
res := make([]*cfg.Gameatn, 0)
for _, v := range _data {
d := &cfg.Game_atn{
d := &cfg.Gameatn{
A: v.A,
T: v.T,
N: v.N,
@ -81,9 +81,9 @@ func (this *apiComp) GetAllMailAttachment(session comm.IUserSession, req *pb.Mai
fj := make([]*pb.UserAssets, 0)
for _, v := range mails {
res := make([]*cfg.Game_atn, 0)
res := make([]*cfg.Gameatn, 0)
for _, v1 := range v.Items {
d := &cfg.Game_atn{
d := &cfg.Gameatn{
A: v1.A,
T: v1.T,
N: v1.N,

View File

@ -25,9 +25,9 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
curChapter *pb.DBMainline // 当前章节信息
bBranch bool // 当前挑战关卡是不是分支
bCheck bool
res []*cfg.Game_atn // 小章节奖励
res []*cfg.Gameatn // 小章节奖励
)
res = make([]*cfg.Game_atn, 0)
res = make([]*cfg.Gameatn, 0)
bBranch = false
code = this.ChallengeCheck(session, req)
if code != pb.ErrorCode_Success {

View File

@ -25,10 +25,10 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Mainline)
err = this.LoadMultiConfigure(map[string]interface{}{
game_mainlinechapter: cfg.NewGame_mainlineChapter,
game_mainlineeasy: cfg.NewGame_mainlineEasy,
game_mainlinehard: cfg.NewGame_mainlineHard,
game_mainlinepurgatory: cfg.NewGame_mainlinePurgatory,
game_mainlinechapter: cfg.NewGamemainlineChapter,
game_mainlineeasy: cfg.NewGamemainlineEasy,
game_mainlinehard: cfg.NewGamemainlineHard,
game_mainlinepurgatory: cfg.NewGamemainlinePurgatory,
})
return
@ -39,16 +39,16 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error)
return configure.GetConfigure(name)
}
func (this *configureComp) GetMainlineChapter(id int32) (data *cfg.Game_mainlineChapterData) {
func (this *configureComp) GetMainlineChapter(id int32) (data *cfg.GamemainlineChapterData) {
if v, err := this.GetConfigure(game_mainlinechapter); err != nil {
this.module.Errorf("get global conf err:%v", err)
return
} else {
var (
configure *cfg.Game_mainlineChapter
configure *cfg.GamemainlineChapter
ok bool
)
if configure, ok = v.(*cfg.Game_mainlineChapter); !ok {
if configure, ok = v.(*cfg.GamemainlineChapter); !ok {
this.module.Errorf("%T no is *cfg.Game_mainlineChapterData", v)
return
}
@ -61,16 +61,16 @@ func (this *configureComp) GetMainlineChapter(id int32) (data *cfg.Game_mainline
}
// 获取简单的关卡配置信息
func (this *configureComp) GetMainlineEasyChapter(id int32) (data *cfg.Game_mainlineEasyData) {
func (this *configureComp) GetMainlineEasyChapter(id int32) (data *cfg.GamemainlineEasyData) {
if v, err := this.GetConfigure(game_mainlineeasy); err != nil {
this.module.Errorf("get global conf err:%v", err)
return
} else {
var (
configure *cfg.Game_mainlineEasy
configure *cfg.GamemainlineEasy
ok bool
)
if configure, ok = v.(*cfg.Game_mainlineEasy); !ok {
if configure, ok = v.(*cfg.GamemainlineEasy); !ok {
this.module.Errorf("%T no is *cfg.Game_mainlineEasyData", v)
return
}
@ -83,16 +83,16 @@ func (this *configureComp) GetMainlineEasyChapter(id int32) (data *cfg.Game_main
}
// 获取炼狱级别难度的关卡配置
func (this *configureComp) GetMainlinePurgatoryChapter(id int32) (data *cfg.Game_mainlinePurgatoryData) {
func (this *configureComp) GetMainlinePurgatoryChapter(id int32) (data *cfg.GamemainlinePurgatoryData) {
if v, err := this.GetConfigure(game_mainlinepurgatory); err != nil {
this.module.Errorf("get global conf err:%v", err)
return
} else {
var (
configure *cfg.Game_mainlinePurgatory
configure *cfg.GamemainlinePurgatory
ok bool
)
if configure, ok = v.(*cfg.Game_mainlinePurgatory); !ok {
if configure, ok = v.(*cfg.GamemainlinePurgatory); !ok {
this.module.Errorf("%T no is *cfg.Game_mainlinePurgatoryData", v)
return
}
@ -105,16 +105,16 @@ func (this *configureComp) GetMainlinePurgatoryChapter(id int32) (data *cfg.Game
}
// 获取困难的关卡配置
func (this *configureComp) GetMainlineHardChapter(id int32) (data *cfg.Game_mainlineHardData) {
func (this *configureComp) GetMainlineHardChapter(id int32) (data *cfg.GamemainlineHardData) {
if v, err := this.GetConfigure(game_mainlinehard); err != nil {
this.module.Errorf("get global conf err:%v", err)
return
} else {
var (
configure *cfg.Game_mainlineHard
configure *cfg.GamemainlineHard
ok bool
)
if configure, ok = v.(*cfg.Game_mainlineHard); !ok {
if configure, ok = v.(*cfg.GamemainlineHard); !ok {
this.module.Errorf("%T no is *cfg.Game_mainlineHardData", v)
return
}

View File

@ -149,7 +149,7 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
}
// 只校验资源 参数 atn格式
func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Game_atn) (code pb.ErrorCode) {
func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Gameatn) (code pb.ErrorCode) {
var (
amount int32
)
@ -183,7 +183,7 @@ func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Game_atn)
}
//消耗资源
func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Game_atn, bPush bool) (code pb.ErrorCode) {
func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) {
var (
items map[string]int32 // 道具背包 批量处理
attrs map[string]int32 // 属性
@ -241,7 +241,7 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Game_at
}
//发放资源
func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Game_atn, bPush bool) (code pb.ErrorCode) {
func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (code pb.ErrorCode) {
var (
items map[string]int32 // 道具背包 批量处理
heros map[string]int32 // 英雄

View File

@ -19,7 +19,7 @@ const (
type configureComp struct {
cbase.ModuleCompBase
hlock sync.RWMutex
_pagodaMap map[int64]*cfg.Game_pagodaData
_pagodaMap map[int64]*cfg.GamepagodaData
}
//组件初始化接口
@ -27,14 +27,14 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.ModuleCompBase.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{
//game_pagoda: cfg.NewGame_pagoda,
game_pagodaseasonreward: cfg.NewGame_pagodaSeasonReward,
game_pagodataskreward: cfg.NewGame_pagodaTaskReward,
game_pagodaseasonreward: cfg.NewGamepagodaSeasonReward,
game_pagodataskreward: cfg.NewGamepagodaTaskReward,
})
this._pagodaMap = make(map[int64]*cfg.Game_pagodaData, 0)
configure.RegisterConfigure(game_pagoda, cfg.NewGame_pagoda, func() {
this._pagodaMap = make(map[int64]*cfg.GamepagodaData, 0)
configure.RegisterConfigure(game_pagoda, cfg.NewGamepagoda, func() {
if v, err := this.GetConfigure(game_pagoda); err == nil {
if configure, ok := v.(*cfg.Game_pagoda); ok {
if configure, ok := v.(*cfg.Gamepagoda); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
@ -50,7 +50,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
}
// 获取爬塔信息 参数1 塔类型 参数2 层数
func (this *configureComp) GetPagodaConfigData(PagodaType int32, floorId int32) (data *cfg.Game_pagodaData) {
func (this *configureComp) GetPagodaConfigData(PagodaType int32, floorId int32) (data *cfg.GamepagodaData) {
return this._pagodaMap[int64(PagodaType<<16)+int64(floorId)]
}
@ -73,16 +73,16 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error)
}
// 获取爬塔配置表数据
func (this *configureComp) GetPagodaconfig(id int32) (data *cfg.Game_pagodaData) {
func (this *configureComp) GetPagodaconfig(id int32) (data *cfg.GamepagodaData) {
if v, err := this.GetConfigure(game_pagoda); err != nil {
log.Errorf("get global conf err:%v", err)
return
} else {
var (
configure *cfg.Game_pagoda
configure *cfg.Gamepagoda
ok bool
)
if configure, ok = v.(*cfg.Game_pagoda); !ok {
if configure, ok = v.(*cfg.Gamepagoda); !ok {
log.Errorf("%T no is *cfg.Game_pagodaData", v)
return
}

View File

@ -24,10 +24,10 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
var (
err error
ok bool
conf *cfg.Game_shopitemData
conf *cfg.GameshopitemData
shopitem *pb.DBShopItem
need []*cfg.Game_atn
give []*cfg.Game_atn
need []*cfg.Gameatn
give []*cfg.Gameatn
)
if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success {
return
@ -46,18 +46,18 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
LastBuyTime: map[int32]int64{1: 0, 2: 0, 3: 0, 4: 0, 5: 0},
}
}
need = make([]*cfg.Game_atn, len(conf.Need))
need = make([]*cfg.Gameatn, len(conf.Need))
for i, v := range conf.Need {
need[i] = &cfg.Game_atn{
need[i] = &cfg.Gameatn{
A: v.A,
T: v.T,
N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum,
}
}
give = make([]*cfg.Game_atn, len(conf.Iteminfo))
give = make([]*cfg.Gameatn, len(conf.Iteminfo))
for i, v := range conf.Iteminfo {
give[i] = &cfg.Game_atn{
give[i] = &cfg.Gameatn{
A: v.A,
T: v.T,
N: v.N * req.BuyNum,

View File

@ -23,11 +23,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
var (
err error
filed string
shopconf *cfg.Game_shopData
shopconf *cfg.GameshopData
shopData *pb.DBShop
udata *pb.DBUser
sdata *pb.UserShopData
items []*cfg.Game_shopitemData
items []*cfg.GameshopitemData
ushoputem map[int32]*pb.DBShopItem
goods []*pb.ShopItem
tdata time.Duration
@ -112,7 +112,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
if code = this.module.ConsumeRes(session, shopconf.Rneed, true); code != pb.ErrorCode_Success {
return
}
var _items []*cfg.Game_shopitemData
var _items []*cfg.GameshopitemData
for _, v := range shopconf.Shopitem {
if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 {
code = pb.ErrorCode_SystemError
@ -130,7 +130,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata})
} else if !req.IsManualRefresh {
if tdata > ltime { //达到刷新时间 可以刷新商品列表
var _items []*cfg.Game_shopitemData
var _items []*cfg.GameshopitemData
for _, v := range shopconf.Shopitem {
if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 {
code = pb.ErrorCode_SystemError

View File

@ -23,13 +23,13 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Shop)
this.LoadConfigure(game_shop, cfg.NewGame_shop)
this.LoadConfigure(game_shopitem, cfg.NewGame_shopitem)
this.LoadConfigure(game_shop, cfg.NewGameshop)
this.LoadConfigure(game_shopitem, cfg.NewGameshopitem)
return
}
//获取装备配置数据
func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.Game_shopData, err error) {
func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.GameshopData, err error) {
var (
v interface{}
ok bool
@ -38,7 +38,7 @@ func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.Game_shopD
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.Game_shop).GetDataMap()[id]; !ok {
if configure, ok = v.(*cfg.Gameshop).GetDataMap()[id]; !ok {
err = fmt.Errorf("ShopConfigure not found:%d ", id)
this.module.Errorf("err:%v", err)
return
@ -48,7 +48,7 @@ func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.Game_shopD
}
//读取商品
func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.Game_shopitemData, err error) {
func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameshopitemData, err error) {
var (
v interface{}
ok bool
@ -57,7 +57,7 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.Game_sh
this.module.Errorf("err:%v", err)
return
} else {
if result, ok = v.(*cfg.Game_shopitem).GetDataMap()[key]; !ok {
if result, ok = v.(*cfg.Gameshopitem).GetDataMap()[key]; !ok {
err = fmt.Errorf("ShopConfigure not found:%d ", key)
this.module.Errorf("err:%v", err)
return
@ -67,17 +67,17 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.Game_sh
}
//读取商品组
func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result []*cfg.Game_shopitemData, err error) {
result = make([]*cfg.Game_shopitemData, 0, 10)
func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result []*cfg.GameshopitemData, err error) {
result = make([]*cfg.GameshopitemData, 0, 10)
var (
v interface{}
table *cfg.Game_shopitem
table *cfg.Gameshopitem
)
if v, err = this.GetConfigure(game_shopitem); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
table = v.(*cfg.Game_shopitem)
table = v.(*cfg.Gameshopitem)
for _, v := range table.GetDataMap() {
if v.Id == groupid &&
user.Lv >= v.Lvmin &&
@ -91,19 +91,19 @@ func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb
}
//读取商品
func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*cfg.Game_shopitemData, err error) {
result = make([]*cfg.Game_shopitemData, 0, len(keys))
func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*cfg.GameshopitemData, err error) {
result = make([]*cfg.GameshopitemData, 0, len(keys))
var (
v interface{}
table *cfg.Game_shopitem
item *cfg.Game_shopitemData
table *cfg.Gameshopitem
item *cfg.GameshopitemData
ok bool
)
if v, err = this.GetConfigure(game_shopitem); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
table = v.(*cfg.Game_shopitem)
table = v.(*cfg.Gameshopitem)
for _, v := range keys {
if item, ok = table.GetDataMap()[v]; ok {
result = append(result, item)

View File

@ -9,7 +9,7 @@ import (
)
//随机商品列表
func randomGoods(goods []*cfg.Game_shopitemData) (result *cfg.Game_shopitemData) {
func randomGoods(goods []*cfg.GameshopitemData) (result *cfg.GameshopitemData) {
var (
totle int64
curr int64
@ -31,7 +31,7 @@ func randomGoods(goods []*cfg.Game_shopitemData) (result *cfg.Game_shopitemData)
}
//转换商品对象
func transGoods(stype pb.ShopType, goods []*cfg.Game_shopitemData, ushoputem map[int32]*pb.DBShopItem) (result []*pb.ShopItem) {
func transGoods(stype pb.ShopType, goods []*cfg.GameshopitemData, ushoputem map[int32]*pb.DBShopItem) (result []*pb.ShopItem) {
result = make([]*pb.ShopItem, len(goods))
ok := false
uitem := &pb.DBShopItem{}

View File

@ -22,14 +22,14 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.LoadMultiConfigure(map[string]interface{}{
gameTaskRound: cfg.NewGame_taskRound,
gameActiveReward: cfg.NewGame_activeReward,
gameTaskRound: cfg.NewGametaskRound,
gameActiveReward: cfg.NewGameactiveReward,
})
return
}
//获取活跃度奖励配置
func (this *configureComp) getActiveRewardCfg() (data *cfg.Game_activeReward, err error) {
func (this *configureComp) getActiveRewardCfg() (data *cfg.GameactiveReward, err error) {
var (
v interface{}
ok bool
@ -37,7 +37,7 @@ func (this *configureComp) getActiveRewardCfg() (data *cfg.Game_activeReward, er
if v, err = this.GetConfigure(gameActiveReward); err != nil {
return
} else {
if data, ok = v.(*cfg.Game_activeReward); !ok {
if data, ok = v.(*cfg.GameactiveReward); !ok {
err = fmt.Errorf("%T no is *cfg.Game_ActiveReward", v)
return
}
@ -46,7 +46,7 @@ func (this *configureComp) getActiveRewardCfg() (data *cfg.Game_activeReward, er
}
//获取任务配置
func (this *configureComp) getTaskRoundCfg() (data *cfg.Game_taskRound, err error) {
func (this *configureComp) getTaskRoundCfg() (data *cfg.GametaskRound, err error) {
var (
v interface{}
ok bool
@ -54,7 +54,7 @@ func (this *configureComp) getTaskRoundCfg() (data *cfg.Game_taskRound, err erro
if v, err = this.GetConfigure(gameTaskRound); err != nil {
return
} else {
if data, ok = v.(*cfg.Game_taskRound); !ok {
if data, ok = v.(*cfg.GametaskRound); !ok {
err = fmt.Errorf("%T no is *cfg.Game_taskRound", v)
return
}
@ -63,7 +63,7 @@ func (this *configureComp) getTaskRoundCfg() (data *cfg.Game_taskRound, err erro
}
//根据taskId获取配置
func (this *configureComp) getTaskById(taskId int32) (data *cfg.Game_taskRoundData) {
func (this *configureComp) getTaskById(taskId int32) (data *cfg.GametaskRoundData) {
cfg, err := this.getTaskRoundCfg()
if err != nil {
log.Errorf("%v", err)
@ -87,7 +87,7 @@ func (this *configureComp) isFirstTask(taskId int32) bool {
}
// 上一个任务
func (this *configureComp) getPreTask(preTaskId int32) *cfg.Game_taskRoundData {
func (this *configureComp) getPreTask(preTaskId int32) *cfg.GametaskRoundData {
data := this.getTaskByTag(int32(comm.TASK_ACHIEVE))
for _, v := range data {
if v.IdAfter == preTaskId {
@ -98,7 +98,7 @@ func (this *configureComp) getPreTask(preTaskId int32) *cfg.Game_taskRoundData {
}
//获取任务配置列表
func (this *configureComp) getTaskList() (data []*cfg.Game_taskRoundData, err error) {
func (this *configureComp) getTaskList() (data []*cfg.GametaskRoundData, err error) {
cfg, err := this.getTaskRoundCfg()
if err != nil {
log.Errorf("%v", err)
@ -111,7 +111,7 @@ func (this *configureComp) getTaskList() (data []*cfg.Game_taskRoundData, err er
}
//根据任务类型获取任务列表
func (this *configureComp) getTasks(taskType int32) (data []*cfg.Game_taskRoundData, err error) {
func (this *configureComp) getTasks(taskType int32) (data []*cfg.GametaskRoundData, err error) {
list, err := this.getTaskList()
if err != nil {
log.Errorf("%v", err)
@ -128,7 +128,7 @@ func (this *configureComp) getTasks(taskType int32) (data []*cfg.Game_taskRoundD
}
//任务列表 正序
func (this *configureComp) getSortedTasks(taskType int32) (data []*cfg.Game_taskRoundData, err error) {
func (this *configureComp) getSortedTasks(taskType int32) (data []*cfg.GametaskRoundData, err error) {
if data, err = this.getTasks(taskType); err != nil {
return nil, err
}
@ -139,7 +139,7 @@ func (this *configureComp) getSortedTasks(taskType int32) (data []*cfg.Game_task
}
//获取任务配置 条件 tasktag
func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.Game_taskRoundData) {
func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.GametaskRoundData) {
list, err := this.getTaskList()
if err != nil {
log.Errorf("%v", err)
@ -153,7 +153,7 @@ func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.Game_taskRou
return
}
func (this *configureComp) getTaskActiveList() (data []*cfg.Game_activeRewardData) {
func (this *configureComp) getTaskActiveList() (data []*cfg.GameactiveRewardData) {
conf, err := this.getActiveRewardCfg()
if err != nil {
log.Errorf("get conf err:%v", err)
@ -166,7 +166,7 @@ func (this *configureComp) getTaskActiveList() (data []*cfg.Game_activeRewardDat
}
//获取活跃度奖励list
func (this *configureComp) getTaskActiveByTag(taskTag int32) (data []*cfg.Game_activeRewardData, err error) {
func (this *configureComp) getTaskActiveByTag(taskTag int32) (data []*cfg.GameactiveRewardData, err error) {
conf, err := this.getActiveRewardCfg()
if err != nil {
log.Errorf("get conf err:%v", err)
@ -184,7 +184,7 @@ func (this *configureComp) getTaskActiveByTag(taskTag int32) (data []*cfg.Game_a
}
// 获取活跃度配置map
func (this *configureComp) getTaskActiveById(id int32) (data *cfg.Game_activeRewardData) {
func (this *configureComp) getTaskActiveById(id int32) (data *cfg.GameactiveRewardData) {
conf, err := this.getActiveRewardCfg()
if err != nil {
log.Errorf("get conf err:%v", err)

View File

@ -67,7 +67,7 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
return
}
var (
res []*cfg.Game_atn
res []*cfg.Gameatn
)
//初始化英雄卡
if val, err := this.module.configure.GetGlobalInitConf(); err == nil {

View File

@ -37,7 +37,7 @@ func (this *apiComp) Modifyname(session comm.IUserSession, req *pb.UserModifynam
//校验名称修改次数
if expand.ModifynameCount <= 0 {
//TODO 从全局配置从读取消耗道具
if code = this.module.ConsumeRes(session, []*cfg.Game_atn{
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{
{
A: "attr",
T: "gold",

View File

@ -25,8 +25,8 @@ func (this *apiComp) AddRes(session comm.IUserSession, req *pb.UserAddResReq) (c
code = pb.ErrorCode_UserSessionNobeing
return
}
res := make([]*cfg.Game_atn, 0)
atn := &cfg.Game_atn{
res := make([]*cfg.Gameatn, 0)
atn := &cfg.Gameatn{
A: req.Res.A,
T: req.Res.T,
N: req.Res.N,

View File

@ -838,7 +838,7 @@ func (x *NoticeUserCloseReq) GetGatewayServiceId() string {
return ""
}
//用户资产数据 对标*cfg.Game_atn 数据结构
//用户资产数据 对标*cfg.Gameatn 数据结构
type UserAssets struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View File

@ -385,6 +385,7 @@ type DBHeroRecord struct {
Triggernum int32 `protobuf:"varint,8,opt,name=triggernum,proto3" json:"triggernum"` // 活动数据 存放没有触发次数
Activityid int32 `protobuf:"varint,9,opt,name=activityid,proto3" json:"activityid"` // 活动id
Mtime int64 `protobuf:"varint,10,opt,name=mtime,proto3" json:"mtime"` // 修改时间
Drawcount int32 `protobuf:"varint,11,opt,name=drawcount,proto3" json:"drawcount"` // 普通卡牌累计抽取次数
}
func (x *DBHeroRecord) Reset() {
@ -489,6 +490,13 @@ func (x *DBHeroRecord) GetMtime() int64 {
return 0
}
func (x *DBHeroRecord) GetDrawcount() int32 {
if x != nil {
return x.Drawcount
}
return 0
}
var File_hero_hero_db_proto protoreflect.FileDescriptor
var file_hero_hero_db_proto_rawDesc = []byte{
@ -573,7 +581,7 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x6f,
0x72, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68,
0x34, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68,
0x35, 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f,
0x35, 0x22, 0xba, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x18, 0x03, 0x20,
@ -591,7 +599,9 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x12, 0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1,7 +1,6 @@
package serialization
import (
math2 "bright/math"
"errors"
"math"
)
@ -611,51 +610,51 @@ func (buf *ByteBuf) WriteBytesWithoutSize(x []byte) {
buf.writerIndex += size
}
func (buf *ByteBuf) ReadVector2() (math2.Vector2, error) {
func (buf *ByteBuf) ReadVector2() (Vector2, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
return math2.Vector2{X: x, Y: y}, nil
return Vector2{X: x, Y: y}, nil
}
}
return math2.Vector2{}, UnmarshalErr
return Vector2{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector2(x math2.Vector2) {
func (buf *ByteBuf) WriteVector2(x Vector2) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
}
func (buf *ByteBuf) ReadVector3() (math2.Vector3, error) {
func (buf *ByteBuf) ReadVector3() (Vector3, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == nil {
return math2.Vector3{X: x, Y: y, Z: z}, nil
return Vector3{X: x, Y: y, Z: z}, nil
}
}
}
return math2.Vector3{}, UnmarshalErr
return Vector3{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector3(x math2.Vector3) {
func (buf *ByteBuf) WriteVector3(x Vector3) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z)
}
func (buf *ByteBuf) ReadVector4() (math2.Vector4, error) {
func (buf *ByteBuf) ReadVector4() (Vector4, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == nil {
if w, err4 := buf.ReadFloat(); err4 == nil {
return math2.Vector4{X: x, Y: y, Z: z, W: w}, nil
return Vector4{X: x, Y: y, Z: z, W: w}, nil
}
}
}
}
return math2.Vector4{}, UnmarshalErr
return Vector4{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector4(x math2.Vector4) {
func (buf *ByteBuf) WriteVector4(x Vector4) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z)

View File

@ -0,0 +1,10 @@
package serialization
type Vector2 struct {
X float32
Y float32
}
func NewVector2(x float32, y float32) Vector2 {
return Vector2{X: x, Y: y}
}

View File

@ -0,0 +1,11 @@
package serialization
type Vector3 struct {
X float32
Y float32
Z float32
}
func NewVector3(x float32, y float32, z float32) Vector3 {
return Vector3{X: x, Y: y, Z: z}
}

View File

@ -0,0 +1,12 @@
package serialization
type Vector4 struct {
X float32
Y float32
Z float32
W float32
}
func NewVector4(x float32, y float32, z float32, w float32) Vector4 {
return Vector4{X: x, Y: y, Z: z, W: w}
}

View File

@ -1,7 +1,6 @@
package serialization
import (
math2 "bright/math"
"bytes"
"testing"
)
@ -20,7 +19,6 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 256; i = i*3/2 + 1 {
x := byte(i)
buf.WriteByte(x)
@ -32,7 +30,6 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x10000; i = i*3/2 + 1 {
x := int16(i)
buf.WriteShort(x)
@ -152,7 +149,7 @@ func TestMarshal(t *testing.T) {
}
{
x := math2.Vector2{X:1,Y:2}
x := Vector2{X: 1, Y: 2}
buf.WriteVector2(x)
if v, err := buf.ReadVector2(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -163,7 +160,7 @@ func TestMarshal(t *testing.T) {
}
{
x := math2.Vector3{X:1,Y:2,Z:3}
x := Vector3{X: 1, Y: 2, Z: 3}
buf.WriteVector3(x)
if v, err := buf.ReadVector3(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -174,7 +171,7 @@ func TestMarshal(t *testing.T) {
}
{
x := math2.Vector4{X:1,Y:2,Z:3,W:4}
x := Vector4{X: 1, Y: 2, Z: 3, W: 4}
buf.WriteVector4(x)
if v, err := buf.ReadVector4(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -205,5 +202,4 @@ func TestMarshal(t *testing.T) {
}
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,32 +5,36 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type _ALocalizeConfig struct {
type ALocalizeConfig struct {
Key string
}
const TypeId_ALocalizeConfig = 1703856460
func New_ALocalizeConfig(_buf map[string]interface{}) (_v interface{}, err error) {
var id string
var _ok_ bool
if id, _ok_ = _buf["__type__"].(string) ; !_ok_ {
return nil, errors.New("type id missing")
}
switch id {
case "LocalizeConfig_CN": return New_LocalizeConfig_CN(_buf);
case "LocalizeConfig_EN": return New_LocalizeConfig_EN(_buf);
case "LocalizeConfig_TW": return New_LocalizeConfig_TW(_buf);
default: return nil, errors.New("unknown type id")
}
return
func (*ALocalizeConfig) GetTypeId() int32 {
return 1703856460
}
func New_ALocalizeConfig_Body(_buf map[string]interface{}) (_v *_ALocalizeConfig, err error) {
_v = &_ALocalizeConfig{}
func (_v *ALocalizeConfig)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
return
}
func DeserializeALocalizeConfig(_buf map[string]interface{}) (interface{}, error) {
var id string
var _ok_ bool
if id, _ok_ = _buf["$type"].(string) ; !_ok_ {
return nil, errors.New("type id missing")
}
switch id {
case "LocalizeConfig_CN": _v := &LocalizeConfig_CN{}; if err := _v.Deserialize(_buf); err != nil { return nil, errors.New("LocalizeConfig_CN") } else { return _v, nil }
case "LocalizeConfig_EN": _v := &LocalizeConfig_EN{}; if err := _v.Deserialize(_buf); err != nil { return nil, errors.New("LocalizeConfig_EN") } else { return _v, nil }
case "LocalizeConfig_TW": _v := &LocalizeConfig_TW{}; if err := _v.Deserialize(_buf); err != nil { return nil, errors.New("LocalizeConfig_TW") } else { return _v, nil }
default: return nil, errors.New("unknown type id")
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Localize_LocalizeConfig_CNCategory struct {
_dataMap map[string]*_LocalizeConfig_CN
_dataList []*_LocalizeConfig_CN
type LocalizeLocalizeConfig_CNCategory struct {
_dataMap map[string]*LocalizeConfig_CN
_dataList []*LocalizeConfig_CN
}
func NewLocalize_LocalizeConfig_CNCategory(_buf []map[string]interface{}) (*Localize_LocalizeConfig_CNCategory, error) {
_dataList := make([]*_LocalizeConfig_CN, 0, len(_buf))
dataMap := make(map[string]*_LocalizeConfig_CN)
func NewLocalizeLocalizeConfig_CNCategory(_buf []map[string]interface{}) (*LocalizeLocalizeConfig_CNCategory, error) {
_dataList := make([]*LocalizeConfig_CN, 0, len(_buf))
dataMap := make(map[string]*LocalizeConfig_CN)
for _, _ele_ := range _buf {
if _v, err2 := New_LocalizeConfig_CN(_ele_); err2 != nil {
if _v, err2 := DeserializeLocalizeConfig_CN(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Localize_LocalizeConfig_CNCategory{_dataList:_dataList, _dataMap:dataMap}, nil
return &LocalizeLocalizeConfig_CNCategory{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Localize_LocalizeConfig_CNCategory) GetDataMap() map[string]*_LocalizeConfig_CN {
func (table *LocalizeLocalizeConfig_CNCategory) GetDataMap() map[string]*LocalizeConfig_CN {
return table._dataMap
}
func (table *Localize_LocalizeConfig_CNCategory) GetDataList() []*_LocalizeConfig_CN {
func (table *LocalizeLocalizeConfig_CNCategory) GetDataList() []*LocalizeConfig_CN {
return table._dataList
}
func (table *Localize_LocalizeConfig_CNCategory) Get(key string) *_LocalizeConfig_CN {
func (table *LocalizeLocalizeConfig_CNCategory) Get(key string) *LocalizeConfig_CN {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Localize_LocalizeConfig_ENCategory struct {
_dataMap map[string]*_LocalizeConfig_EN
_dataList []*_LocalizeConfig_EN
type LocalizeLocalizeConfig_ENCategory struct {
_dataMap map[string]*LocalizeConfig_EN
_dataList []*LocalizeConfig_EN
}
func NewLocalize_LocalizeConfig_ENCategory(_buf []map[string]interface{}) (*Localize_LocalizeConfig_ENCategory, error) {
_dataList := make([]*_LocalizeConfig_EN, 0, len(_buf))
dataMap := make(map[string]*_LocalizeConfig_EN)
func NewLocalizeLocalizeConfig_ENCategory(_buf []map[string]interface{}) (*LocalizeLocalizeConfig_ENCategory, error) {
_dataList := make([]*LocalizeConfig_EN, 0, len(_buf))
dataMap := make(map[string]*LocalizeConfig_EN)
for _, _ele_ := range _buf {
if _v, err2 := New_LocalizeConfig_EN(_ele_); err2 != nil {
if _v, err2 := DeserializeLocalizeConfig_EN(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Localize_LocalizeConfig_ENCategory{_dataList:_dataList, _dataMap:dataMap}, nil
return &LocalizeLocalizeConfig_ENCategory{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Localize_LocalizeConfig_ENCategory) GetDataMap() map[string]*_LocalizeConfig_EN {
func (table *LocalizeLocalizeConfig_ENCategory) GetDataMap() map[string]*LocalizeConfig_EN {
return table._dataMap
}
func (table *Localize_LocalizeConfig_ENCategory) GetDataList() []*_LocalizeConfig_EN {
func (table *LocalizeLocalizeConfig_ENCategory) GetDataList() []*LocalizeConfig_EN {
return table._dataList
}
func (table *Localize_LocalizeConfig_ENCategory) Get(key string) *_LocalizeConfig_EN {
func (table *LocalizeLocalizeConfig_ENCategory) Get(key string) *LocalizeConfig_EN {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Localize_LocalizeConfig_TWCategory struct {
_dataMap map[string]*_LocalizeConfig_TW
_dataList []*_LocalizeConfig_TW
type LocalizeLocalizeConfig_TWCategory struct {
_dataMap map[string]*LocalizeConfig_TW
_dataList []*LocalizeConfig_TW
}
func NewLocalize_LocalizeConfig_TWCategory(_buf []map[string]interface{}) (*Localize_LocalizeConfig_TWCategory, error) {
_dataList := make([]*_LocalizeConfig_TW, 0, len(_buf))
dataMap := make(map[string]*_LocalizeConfig_TW)
func NewLocalizeLocalizeConfig_TWCategory(_buf []map[string]interface{}) (*LocalizeLocalizeConfig_TWCategory, error) {
_dataList := make([]*LocalizeConfig_TW, 0, len(_buf))
dataMap := make(map[string]*LocalizeConfig_TW)
for _, _ele_ := range _buf {
if _v, err2 := New_LocalizeConfig_TW(_ele_); err2 != nil {
if _v, err2 := DeserializeLocalizeConfig_TW(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Localize_LocalizeConfig_TWCategory{_dataList:_dataList, _dataMap:dataMap}, nil
return &LocalizeLocalizeConfig_TWCategory{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Localize_LocalizeConfig_TWCategory) GetDataMap() map[string]*_LocalizeConfig_TW {
func (table *LocalizeLocalizeConfig_TWCategory) GetDataMap() map[string]*LocalizeConfig_TW {
return table._dataMap
}
func (table *Localize_LocalizeConfig_TWCategory) GetDataList() []*_LocalizeConfig_TW {
func (table *LocalizeLocalizeConfig_TWCategory) GetDataList() []*LocalizeConfig_TW {
return table._dataList
}
func (table *Localize_LocalizeConfig_TWCategory) Get(key string) *_LocalizeConfig_TW {
func (table *LocalizeLocalizeConfig_TWCategory) Get(key string) *LocalizeConfig_TW {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,33 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type _LocalizeConfig_CN struct {
_ALocalizeConfig
type LocalizeConfig_CN struct {
Key string
TextCn string
}
func (_LocalizeConfig_CN) GetTypeId() int {
const TypeId_LocalizeConfig_CN = 2049582687
func (*LocalizeConfig_CN) GetTypeId() int32 {
return 2049582687
}
func New_LocalizeConfig_CN(_buf map[string]interface{}) (_v *_LocalizeConfig_CN, err error) {
_v = &_LocalizeConfig_CN{}
var _p *_ALocalizeConfig
if _p, err = New_ALocalizeConfig_Body(_buf) ; err != nil { return }
_v._ALocalizeConfig = *_p
func (_v *LocalizeConfig_CN)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.TextCn, _ok_ = _buf["text_cn"].(string); !_ok_ { err = errors.New("text_cn error"); return } }
return
}
func DeserializeLocalizeConfig_CN(_buf map[string]interface{}) (*LocalizeConfig_CN, error) {
v := &LocalizeConfig_CN{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,33 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type _LocalizeConfig_EN struct {
_ALocalizeConfig
type LocalizeConfig_EN struct {
Key string
TextEn string
}
func (_LocalizeConfig_EN) GetTypeId() int {
const TypeId_LocalizeConfig_EN = 2049582749
func (*LocalizeConfig_EN) GetTypeId() int32 {
return 2049582749
}
func New_LocalizeConfig_EN(_buf map[string]interface{}) (_v *_LocalizeConfig_EN, err error) {
_v = &_LocalizeConfig_EN{}
var _p *_ALocalizeConfig
if _p, err = New_ALocalizeConfig_Body(_buf) ; err != nil { return }
_v._ALocalizeConfig = *_p
func (_v *LocalizeConfig_EN)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.TextEn, _ok_ = _buf["text_en"].(string); !_ok_ { err = errors.New("text_en error"); return } }
return
}
func DeserializeLocalizeConfig_EN(_buf map[string]interface{}) (*LocalizeConfig_EN, error) {
v := &LocalizeConfig_EN{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,33 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type _LocalizeConfig_TW struct {
_ALocalizeConfig
type LocalizeConfig_TW struct {
Key string
TextTw string
}
func (_LocalizeConfig_TW) GetTypeId() int {
const TypeId_LocalizeConfig_TW = 2049583223
func (*LocalizeConfig_TW) GetTypeId() int32 {
return 2049583223
}
func New_LocalizeConfig_TW(_buf map[string]interface{}) (_v *_LocalizeConfig_TW, err error) {
_v = &_LocalizeConfig_TW{}
var _p *_ALocalizeConfig
if _p, err = New_ALocalizeConfig_Body(_buf) ; err != nil { return }
_v._ALocalizeConfig = *_p
func (_v *LocalizeConfig_TW)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.TextTw, _ok_ = _buf["text_tw"].(string); !_ok_ { err = errors.New("text_tw error"); return } }
return
}
func DeserializeLocalizeConfig_TW(_buf map[string]interface{}) (*LocalizeConfig_TW, error) {
v := &LocalizeConfig_TW{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -12,69 +11,65 @@ package cfg
type JsonLoader func(string) ([]map[string]interface{}, error)
type Tables struct {
LocalizeConfig_CNCategory *Localize_LocalizeConfig_CNCategory
LocalizeConfig_ENCategory *Localize_LocalizeConfig_ENCategory
LocalizeConfig_TWCategory *Localize_LocalizeConfig_TWCategory
global *Game_global
ui *Game_ui
plot *Game_plot
extservers *Game_extservers
skillAtk *Game_skillAtk
skillAfteratk *Game_skillAfteratk
skillBuff *Game_skillBuff
skillPassive *Game_skillPassive
hero *Game_hero
heroStargrow *Game_heroStargrow
heroLevelgrow *Game_heroLevelgrow
heroStarup *Game_heroStarup
heroExp *Game_heroExp
heroLevelup *Game_heroLevelup
equip *Game_equip
equipAttrlibrary *Game_equipAttrlibrary
equipSuit *Game_equipSuit
equipColor *Game_equipColor
equipIntensify *Game_equipIntensify
item *Game_item
heroSkillLevel *Game_heroSkillLevel
heroResonance *Game_heroResonance
comAtn *Game_comAtn
heroAwaken *Game_heroAwaken
heroMethod *Game_heroMethod
shop *Game_shop
shopitem *Game_shopitem
activeReward *Game_activeReward
serverList *Game_serverList
com *Game_com
skill *Game_skill
model *Game_model
mainlineChapter *Game_mainlineChapter
mainlineEasy *Game_mainlineEasy
mainlineHard *Game_mainlineHard
mainlinePurgatory *Game_mainlinePurgatory
drawCard *Game_drawCard
drawUpdraw *Game_drawUpdraw
drawCom *Game_drawCom
drawCost *Game_drawCost
chatChannel *Game_chatChannel
chatSystem *Game_chatSystem
chatServerGroup *Game_chatServerGroup
chatChannelCom *Game_chatChannelCom
taskRound *Game_taskRound
taskActiveReward *Game_taskActiveReward
coin *Game_coin
initial *Game_initial
monster *Game_monster
equipPos *Game_equipPos
playerlv *Game_playerlv
propsgroup *Game_propsgroup
facemod *Game_facemod
msgdistrib *Game_msgdistrib
language *Game_language
opencond *Game_opencond
stroy *Game_stroy
pagoda *Game_pagoda
pagodaTaskReward *Game_pagodaTaskReward
pagodaSeasonReward *Game_pagodaSeasonReward
LocalizeConfig_CNCategory *LocalizeLocalizeConfig_CNCategory
LocalizeConfig_ENCategory *LocalizeLocalizeConfig_ENCategory
LocalizeConfig_TWCategory *LocalizeLocalizeConfig_TWCategory
global *Gameglobal
ui *Gameui
plot *Gameplot
extservers *Gameextservers
skillAtk *GameskillAtk
skillAfteratk *GameskillAfteratk
skillBuff *GameskillBuff
skillPassive *GameskillPassive
hero *Gamehero
heroStargrow *GameheroStargrow
heroLevelgrow *GameheroLevelgrow
heroStarup *GameheroStarup
heroExp *GameheroExp
heroLevelup *GameheroLevelup
equip *Gameequip
equipAttrlibrary *GameequipAttrlibrary
equipSuit *GameequipSuit
equipColor *GameequipColor
equipIntensify *GameequipIntensify
item *Gameitem
heroSkillLevel *GameheroSkillLevel
heroResonance *GameheroResonance
comAtn *GamecomAtn
heroAwaken *GameheroAwaken
heroMethod *GameheroMethod
shop *Gameshop
shopitem *Gameshopitem
activeReward *GameactiveReward
com *Gamecom
skill *Gameskill
model *Gamemodel
mainlineChapter *GamemainlineChapter
mainlineEasy *GamemainlineEasy
mainlineHard *GamemainlineHard
mainlinePurgatory *GamemainlinePurgatory
drawCard *GamedrawCard
chatChannel *GamechatChannel
chatSystem *GamechatSystem
chatServerGroup *GamechatServerGroup
chatChannelCom *GamechatChannelCom
taskRound *GametaskRound
taskActiveReward *GametaskActiveReward
coin *Gamecoin
initial *Gameinitial
monster *Gamemonster
equipPos *GameequipPos
playerlv *Gameplayerlv
propsgroup *Gamepropsgroup
facemod *Gamefacemod
msgdistrib *Gamemsgdistrib
language *Gamelanguage
opencond *Gameopencond
stroy *Gamestroy
pagoda *Gamepagoda
pagodaTaskReward *GamepagodaTaskReward
pagodaSeasonReward *GamepagodaSeasonReward
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -85,379 +80,355 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if buf, err = loader("LocalizeConfig_CN") ; err != nil {
return nil, err
}
if tables.LocalizeConfig_CNCategory, err = NewLocalize_LocalizeConfig_CNCategory(buf) ; err != nil {
if tables.LocalizeConfig_CNCategory, err = NewLocalizeLocalizeConfig_CNCategory(buf) ; err != nil {
return nil, err
}
if buf, err = loader("LocalizeConfig_EN") ; err != nil {
return nil, err
}
if tables.LocalizeConfig_ENCategory, err = NewLocalize_LocalizeConfig_ENCategory(buf) ; err != nil {
if tables.LocalizeConfig_ENCategory, err = NewLocalizeLocalizeConfig_ENCategory(buf) ; err != nil {
return nil, err
}
if buf, err = loader("LocalizeConfig_TW") ; err != nil {
return nil, err
}
if tables.LocalizeConfig_TWCategory, err = NewLocalize_LocalizeConfig_TWCategory(buf) ; err != nil {
if tables.LocalizeConfig_TWCategory, err = NewLocalizeLocalizeConfig_TWCategory(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_global") ; err != nil {
return nil, err
}
if tables.global, err = NewGame_global(buf) ; err != nil {
if tables.global, err = NewGameglobal(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_ui") ; err != nil {
return nil, err
}
if tables.ui, err = NewGame_ui(buf) ; err != nil {
if tables.ui, err = NewGameui(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_plot") ; err != nil {
return nil, err
}
if tables.plot, err = NewGame_plot(buf) ; err != nil {
if tables.plot, err = NewGameplot(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_extservers") ; err != nil {
return nil, err
}
if tables.extservers, err = NewGame_extservers(buf) ; err != nil {
if tables.extservers, err = NewGameextservers(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_skillatk") ; err != nil {
return nil, err
}
if tables.skillAtk, err = NewGame_skillAtk(buf) ; err != nil {
if tables.skillAtk, err = NewGameskillAtk(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_skillafteratk") ; err != nil {
return nil, err
}
if tables.skillAfteratk, err = NewGame_skillAfteratk(buf) ; err != nil {
if tables.skillAfteratk, err = NewGameskillAfteratk(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_skillbuff") ; err != nil {
return nil, err
}
if tables.skillBuff, err = NewGame_skillBuff(buf) ; err != nil {
if tables.skillBuff, err = NewGameskillBuff(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_skillpassive") ; err != nil {
return nil, err
}
if tables.skillPassive, err = NewGame_skillPassive(buf) ; err != nil {
if tables.skillPassive, err = NewGameskillPassive(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_hero") ; err != nil {
return nil, err
}
if tables.hero, err = NewGame_hero(buf) ; err != nil {
if tables.hero, err = NewGamehero(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_herostargrow") ; err != nil {
return nil, err
}
if tables.heroStargrow, err = NewGame_heroStargrow(buf) ; err != nil {
if tables.heroStargrow, err = NewGameheroStargrow(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_herolevelgrow") ; err != nil {
return nil, err
}
if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf) ; err != nil {
if tables.heroLevelgrow, err = NewGameheroLevelgrow(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_herostarup") ; err != nil {
return nil, err
}
if tables.heroStarup, err = NewGame_heroStarup(buf) ; err != nil {
if tables.heroStarup, err = NewGameheroStarup(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_heroexp") ; err != nil {
return nil, err
}
if tables.heroExp, err = NewGame_heroExp(buf) ; err != nil {
if tables.heroExp, err = NewGameheroExp(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_herolevelup") ; err != nil {
return nil, err
}
if tables.heroLevelup, err = NewGame_heroLevelup(buf) ; err != nil {
if tables.heroLevelup, err = NewGameheroLevelup(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equip") ; err != nil {
return nil, err
}
if tables.equip, err = NewGame_equip(buf) ; err != nil {
if tables.equip, err = NewGameequip(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equipattrlibrary") ; err != nil {
return nil, err
}
if tables.equipAttrlibrary, err = NewGame_equipAttrlibrary(buf) ; err != nil {
if tables.equipAttrlibrary, err = NewGameequipAttrlibrary(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equipsuit") ; err != nil {
return nil, err
}
if tables.equipSuit, err = NewGame_equipSuit(buf) ; err != nil {
if tables.equipSuit, err = NewGameequipSuit(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equipcolor") ; err != nil {
return nil, err
}
if tables.equipColor, err = NewGame_equipColor(buf) ; err != nil {
if tables.equipColor, err = NewGameequipColor(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equipintensify") ; err != nil {
return nil, err
}
if tables.equipIntensify, err = NewGame_equipIntensify(buf) ; err != nil {
if tables.equipIntensify, err = NewGameequipIntensify(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_item") ; err != nil {
return nil, err
}
if tables.item, err = NewGame_item(buf) ; err != nil {
if tables.item, err = NewGameitem(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_heroskilllevel") ; err != nil {
return nil, err
}
if tables.heroSkillLevel, err = NewGame_heroSkillLevel(buf) ; err != nil {
if tables.heroSkillLevel, err = NewGameheroSkillLevel(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_heroresonance") ; err != nil {
return nil, err
}
if tables.heroResonance, err = NewGame_heroResonance(buf) ; err != nil {
if tables.heroResonance, err = NewGameheroResonance(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_comatn") ; err != nil {
return nil, err
}
if tables.comAtn, err = NewGame_comAtn(buf) ; err != nil {
if tables.comAtn, err = NewGamecomAtn(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_heroawaken") ; err != nil {
return nil, err
}
if tables.heroAwaken, err = NewGame_heroAwaken(buf) ; err != nil {
if tables.heroAwaken, err = NewGameheroAwaken(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_heromethod") ; err != nil {
return nil, err
}
if tables.heroMethod, err = NewGame_heroMethod(buf) ; err != nil {
if tables.heroMethod, err = NewGameheroMethod(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_shop") ; err != nil {
return nil, err
}
if tables.shop, err = NewGame_shop(buf) ; err != nil {
if tables.shop, err = NewGameshop(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_shopitem") ; err != nil {
return nil, err
}
if tables.shopitem, err = NewGame_shopitem(buf) ; err != nil {
if tables.shopitem, err = NewGameshopitem(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_activereward") ; err != nil {
return nil, err
}
if tables.activeReward, err = NewGame_activeReward(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_serverlist") ; err != nil {
return nil, err
}
if tables.serverList, err = NewGame_serverList(buf) ; err != nil {
if tables.activeReward, err = NewGameactiveReward(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_com") ; err != nil {
return nil, err
}
if tables.com, err = NewGame_com(buf) ; err != nil {
if tables.com, err = NewGamecom(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_skill") ; err != nil {
return nil, err
}
if tables.skill, err = NewGame_skill(buf) ; err != nil {
if tables.skill, err = NewGameskill(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_model") ; err != nil {
return nil, err
}
if tables.model, err = NewGame_model(buf) ; err != nil {
if tables.model, err = NewGamemodel(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_mainlinechapter") ; err != nil {
return nil, err
}
if tables.mainlineChapter, err = NewGame_mainlineChapter(buf) ; err != nil {
if tables.mainlineChapter, err = NewGamemainlineChapter(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_mainlineeasy") ; err != nil {
return nil, err
}
if tables.mainlineEasy, err = NewGame_mainlineEasy(buf) ; err != nil {
if tables.mainlineEasy, err = NewGamemainlineEasy(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_mainlinehard") ; err != nil {
return nil, err
}
if tables.mainlineHard, err = NewGame_mainlineHard(buf) ; err != nil {
if tables.mainlineHard, err = NewGamemainlineHard(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_mainlinepurgatory") ; err != nil {
return nil, err
}
if tables.mainlinePurgatory, err = NewGame_mainlinePurgatory(buf) ; err != nil {
if tables.mainlinePurgatory, err = NewGamemainlinePurgatory(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_drawcard") ; err != nil {
return nil, err
}
if tables.drawCard, err = NewGame_drawCard(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_drawupdraw") ; err != nil {
return nil, err
}
if tables.drawUpdraw, err = NewGame_drawUpdraw(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_drawcom") ; err != nil {
return nil, err
}
if tables.drawCom, err = NewGame_drawCom(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_drawcost") ; err != nil {
return nil, err
}
if tables.drawCost, err = NewGame_drawCost(buf) ; err != nil {
if tables.drawCard, err = NewGamedrawCard(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_chatchannel") ; err != nil {
return nil, err
}
if tables.chatChannel, err = NewGame_chatChannel(buf) ; err != nil {
if tables.chatChannel, err = NewGamechatChannel(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_chatsystem") ; err != nil {
return nil, err
}
if tables.chatSystem, err = NewGame_chatSystem(buf) ; err != nil {
if tables.chatSystem, err = NewGamechatSystem(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_chatservergroup") ; err != nil {
return nil, err
}
if tables.chatServerGroup, err = NewGame_chatServerGroup(buf) ; err != nil {
if tables.chatServerGroup, err = NewGamechatServerGroup(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_chatchannelcom") ; err != nil {
return nil, err
}
if tables.chatChannelCom, err = NewGame_chatChannelCom(buf) ; err != nil {
if tables.chatChannelCom, err = NewGamechatChannelCom(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_taskround") ; err != nil {
return nil, err
}
if tables.taskRound, err = NewGame_taskRound(buf) ; err != nil {
if tables.taskRound, err = NewGametaskRound(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_taskactivereward") ; err != nil {
return nil, err
}
if tables.taskActiveReward, err = NewGame_taskActiveReward(buf) ; err != nil {
if tables.taskActiveReward, err = NewGametaskActiveReward(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_coin") ; err != nil {
return nil, err
}
if tables.coin, err = NewGame_coin(buf) ; err != nil {
if tables.coin, err = NewGamecoin(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_initial") ; err != nil {
return nil, err
}
if tables.initial, err = NewGame_initial(buf) ; err != nil {
if tables.initial, err = NewGameinitial(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_monster") ; err != nil {
return nil, err
}
if tables.monster, err = NewGame_monster(buf) ; err != nil {
if tables.monster, err = NewGamemonster(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_equippos") ; err != nil {
return nil, err
}
if tables.equipPos, err = NewGame_equipPos(buf) ; err != nil {
if tables.equipPos, err = NewGameequipPos(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_playerlv") ; err != nil {
return nil, err
}
if tables.playerlv, err = NewGame_playerlv(buf) ; err != nil {
if tables.playerlv, err = NewGameplayerlv(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_propsgroup") ; err != nil {
return nil, err
}
if tables.propsgroup, err = NewGame_propsgroup(buf) ; err != nil {
if tables.propsgroup, err = NewGamepropsgroup(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_facemod") ; err != nil {
return nil, err
}
if tables.facemod, err = NewGame_facemod(buf) ; err != nil {
if tables.facemod, err = NewGamefacemod(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_msgdistrib") ; err != nil {
return nil, err
}
if tables.msgdistrib, err = NewGame_msgdistrib(buf) ; err != nil {
if tables.msgdistrib, err = NewGamemsgdistrib(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_language") ; err != nil {
return nil, err
}
if tables.language, err = NewGame_language(buf) ; err != nil {
if tables.language, err = NewGamelanguage(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_opencond") ; err != nil {
return nil, err
}
if tables.opencond, err = NewGame_opencond(buf) ; err != nil {
if tables.opencond, err = NewGameopencond(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_stroy") ; err != nil {
return nil, err
}
if tables.stroy, err = NewGame_stroy(buf) ; err != nil {
if tables.stroy, err = NewGamestroy(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 {
if tables.pagoda, err = NewGamepagoda(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 {
if tables.pagodaTaskReward, err = NewGamepagodaTaskReward(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 {
if tables.pagodaSeasonReward, err = NewGamepagodaSeasonReward(buf) ; err != nil {
return nil, err
}
return tables, nil

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,20 +5,22 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_ChildSkills struct {
type GameChildSkills struct {
Id []int32
}
func (Game_ChildSkills) GetTypeId() int {
const TypeId_GameChildSkills = -1958253470
func (*GameChildSkills) GetTypeId() int32 {
return -1958253470
}
func NewGame_ChildSkills(_buf map[string]interface{}) (_v *Game_ChildSkills, err error) {
_v = &Game_ChildSkills{}
func (_v *GameChildSkills)Deserialize(_buf map[string]interface{}) (err error) {
{
var _arr_ []interface{}
var _ok_ bool
@ -36,3 +37,12 @@ func NewGame_ChildSkills(_buf map[string]interface{}) (_v *Game_ChildSkills, err
return
}
func DeserializeGameChildSkills(_buf map[string]interface{}) (*GameChildSkills, error) {
v := &GameChildSkills{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_Figure struct {
type GameFigure struct {
Id int32
Key string
Color string
@ -21,12 +21,13 @@ type Game_Figure struct {
Icon string
}
func (Game_Figure) GetTypeId() int {
const TypeId_GameFigure = -1818502016
func (*GameFigure) GetTypeId() int32 {
return -1818502016
}
func NewGame_Figure(_buf map[string]interface{}) (_v *Game_Figure, err error) {
_v = &Game_Figure{}
func (_v *GameFigure)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.Color, _ok_ = _buf["color"].(string); !_ok_ { err = errors.New("color error"); return } }
@ -37,3 +38,12 @@ func NewGame_Figure(_buf map[string]interface{}) (_v *Game_Figure, err error) {
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
return
}
func DeserializeGameFigure(_buf map[string]interface{}) (*GameFigure, error) {
v := &GameFigure{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_activeReward struct {
_dataMap map[int32]*Game_activeRewardData
_dataList []*Game_activeRewardData
type GameactiveReward struct {
_dataMap map[int32]*GameactiveRewardData
_dataList []*GameactiveRewardData
}
func NewGame_activeReward(_buf []map[string]interface{}) (*Game_activeReward, error) {
_dataList := make([]*Game_activeRewardData, 0, len(_buf))
dataMap := make(map[int32]*Game_activeRewardData)
func NewGameactiveReward(_buf []map[string]interface{}) (*GameactiveReward, error) {
_dataList := make([]*GameactiveRewardData, 0, len(_buf))
dataMap := make(map[int32]*GameactiveRewardData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_activeRewardData(_ele_); err2 != nil {
if _v, err2 := DeserializeGameactiveRewardData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_activeReward{_dataList:_dataList, _dataMap:dataMap}, nil
return &GameactiveReward{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_activeReward) GetDataMap() map[int32]*Game_activeRewardData {
func (table *GameactiveReward) GetDataMap() map[int32]*GameactiveRewardData {
return table._dataMap
}
func (table *Game_activeReward) GetDataList() []*Game_activeRewardData {
func (table *GameactiveReward) GetDataList() []*GameactiveRewardData {
return table._dataList
}
func (table *Game_activeReward) Get(key int32) *Game_activeRewardData {
func (table *GameactiveReward) Get(key int32) *GameactiveRewardData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,23 +5,25 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_activeRewardData struct {
type GameactiveRewardData struct {
Key int32
IdTag int32
Active int32
Reword []*Game_atn
Reword []*Gameatn
}
func (Game_activeRewardData) GetTypeId() int {
const TypeId_GameactiveRewardData = -41023077
func (*GameactiveRewardData) GetTypeId() int32 {
return -41023077
}
func NewGame_activeRewardData(_buf map[string]interface{}) (_v *Game_activeRewardData, err error) {
_v = &Game_activeRewardData{}
func (_v *GameactiveRewardData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_tag"].(float64); !_ok_ { err = errors.New("id_tag error"); return }; _v.IdTag = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["active"].(float64); !_ok_ { err = errors.New("active error"); return }; _v.Active = int32(_tempNum_) }
@ -31,14 +32,23 @@ func NewGame_activeRewardData(_buf map[string]interface{}) (_v *Game_activeRewar
var _ok_ bool
if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
_v.Reword = make([]*Game_atn, 0, len(_arr_))
_v.Reword = make([]*Gameatn, 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 } }
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Reword = append(_v.Reword, _list_v_)
}
}
return
}
func DeserializeGameactiveRewardData(_buf map[string]interface{}) (*GameactiveRewardData, error) {
v := &GameactiveRewardData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_atn struct {
type Gameatn struct {
A string
T string
N int32
}
func (Game_atn) GetTypeId() int {
const TypeId_Gameatn = -1770297697
func (*Gameatn) GetTypeId() int32 {
return -1770297697
}
func NewGame_atn(_buf map[string]interface{}) (_v *Game_atn, err error) {
_v = &Game_atn{}
func (_v *Gameatn)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.A, _ok_ = _buf["a"].(string); !_ok_ { err = errors.New("a error"); return } }
{ var _ok_ bool; if _v.T, _ok_ = _buf["t"].(string); !_ok_ { err = errors.New("t error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ { err = errors.New("n error"); return }; _v.N = int32(_tempNum_) }
return
}
func DeserializeGameatn(_buf map[string]interface{}) (*Gameatn, error) {
v := &Gameatn{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <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 Gamebasepool struct {
S int32
E int32
P string
}
const TypeId_Gamebasepool = -451033879
func (*Gamebasepool) GetTypeId() int32 {
return -451033879
}
func (_v *Gamebasepool)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["s"].(float64); !_ok_ { err = errors.New("s error"); return }; _v.S = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["e"].(float64); !_ok_ { err = errors.New("e error"); return }; _v.E = int32(_tempNum_) }
{ var _ok_ bool; if _v.P, _ok_ = _buf["p"].(string); !_ok_ { err = errors.New("p error"); return } }
return
}
func DeserializeGamebasepool(_buf map[string]interface{}) (*Gamebasepool, error) {
v := &Gamebasepool{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_chatChannel struct {
_dataMap map[string]*Game_chatChannelData
_dataList []*Game_chatChannelData
type GamechatChannel struct {
_dataMap map[string]*GamechatChannelData
_dataList []*GamechatChannelData
}
func NewGame_chatChannel(_buf []map[string]interface{}) (*Game_chatChannel, error) {
_dataList := make([]*Game_chatChannelData, 0, len(_buf))
dataMap := make(map[string]*Game_chatChannelData)
func NewGamechatChannel(_buf []map[string]interface{}) (*GamechatChannel, error) {
_dataList := make([]*GamechatChannelData, 0, len(_buf))
dataMap := make(map[string]*GamechatChannelData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatChannelData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamechatChannelData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_chatChannel{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamechatChannel{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_chatChannel) GetDataMap() map[string]*Game_chatChannelData {
func (table *GamechatChannel) GetDataMap() map[string]*GamechatChannelData {
return table._dataMap
}
func (table *Game_chatChannel) GetDataList() []*Game_chatChannelData {
func (table *GamechatChannel) GetDataList() []*GamechatChannelData {
return table._dataList
}
func (table *Game_chatChannel) Get(key string) *Game_chatChannelData {
func (table *GamechatChannel) Get(key string) *GamechatChannelData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_chatChannelCom struct {
_dataMap map[string]*Game_chatChannelComData
_dataList []*Game_chatChannelComData
type GamechatChannelCom struct {
_dataMap map[string]*GamechatChannelComData
_dataList []*GamechatChannelComData
}
func NewGame_chatChannelCom(_buf []map[string]interface{}) (*Game_chatChannelCom, error) {
_dataList := make([]*Game_chatChannelComData, 0, len(_buf))
dataMap := make(map[string]*Game_chatChannelComData)
func NewGamechatChannelCom(_buf []map[string]interface{}) (*GamechatChannelCom, error) {
_dataList := make([]*GamechatChannelComData, 0, len(_buf))
dataMap := make(map[string]*GamechatChannelComData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatChannelComData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamechatChannelComData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_chatChannelCom{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamechatChannelCom{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_chatChannelCom) GetDataMap() map[string]*Game_chatChannelComData {
func (table *GamechatChannelCom) GetDataMap() map[string]*GamechatChannelComData {
return table._dataMap
}
func (table *Game_chatChannelCom) GetDataList() []*Game_chatChannelComData {
func (table *GamechatChannelCom) GetDataList() []*GamechatChannelComData {
return table._dataList
}
func (table *Game_chatChannelCom) Get(key string) *Game_chatChannelComData {
func (table *GamechatChannelCom) Get(key string) *GamechatChannelComData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_chatChannelComData struct {
type GamechatChannelComData struct {
Key string
Value int32
Dec string
}
func (Game_chatChannelComData) GetTypeId() int {
const TypeId_GamechatChannelComData = 1284108092
func (*GamechatChannelComData) GetTypeId() int32 {
return 1284108092
}
func NewGame_chatChannelComData(_buf map[string]interface{}) (_v *Game_chatChannelComData, err error) {
_v = &Game_chatChannelComData{}
func (_v *GamechatChannelComData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
{ var _ok_ bool; if _v.Dec, _ok_ = _buf["dec"].(string); !_ok_ { err = errors.New("dec error"); return } }
return
}
func DeserializeGamechatChannelComData(_buf map[string]interface{}) (*GamechatChannelComData, error) {
v := &GamechatChannelComData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_chatChannelData struct {
type GamechatChannelData struct {
Key string
TagList int32
SpeakCd int32
}
func (Game_chatChannelData) GetTypeId() int {
const TypeId_GamechatChannelData = -19547431
func (*GamechatChannelData) GetTypeId() int32 {
return -19547431
}
func NewGame_chatChannelData(_buf map[string]interface{}) (_v *Game_chatChannelData, err error) {
_v = &Game_chatChannelData{}
func (_v *GamechatChannelData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tag_list"].(float64); !_ok_ { err = errors.New("tag_list error"); return }; _v.TagList = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["speak_cd"].(float64); !_ok_ { err = errors.New("speak_cd error"); return }; _v.SpeakCd = int32(_tempNum_) }
return
}
func DeserializeGamechatChannelData(_buf map[string]interface{}) (*GamechatChannelData, error) {
v := &GamechatChannelData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_chatServerGroup struct {
_dataMap map[string]*Game_chatServerGroupData
_dataList []*Game_chatServerGroupData
type GamechatServerGroup struct {
_dataMap map[string]*GamechatServerGroupData
_dataList []*GamechatServerGroupData
}
func NewGame_chatServerGroup(_buf []map[string]interface{}) (*Game_chatServerGroup, error) {
_dataList := make([]*Game_chatServerGroupData, 0, len(_buf))
dataMap := make(map[string]*Game_chatServerGroupData)
func NewGamechatServerGroup(_buf []map[string]interface{}) (*GamechatServerGroup, error) {
_dataList := make([]*GamechatServerGroupData, 0, len(_buf))
dataMap := make(map[string]*GamechatServerGroupData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatServerGroupData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamechatServerGroupData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Server] = _v
}
}
return &Game_chatServerGroup{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamechatServerGroup{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_chatServerGroup) GetDataMap() map[string]*Game_chatServerGroupData {
func (table *GamechatServerGroup) GetDataMap() map[string]*GamechatServerGroupData {
return table._dataMap
}
func (table *Game_chatServerGroup) GetDataList() []*Game_chatServerGroupData {
func (table *GamechatServerGroup) GetDataList() []*GamechatServerGroupData {
return table._dataList
}
func (table *Game_chatServerGroup) Get(key string) *Game_chatServerGroupData {
func (table *GamechatServerGroup) Get(key string) *GamechatServerGroupData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,22 +5,33 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_chatServerGroupData struct {
type GamechatServerGroupData struct {
Server string
Group int32
}
func (Game_chatServerGroupData) GetTypeId() int {
const TypeId_GamechatServerGroupData = 825941074
func (*GamechatServerGroupData) GetTypeId() int32 {
return 825941074
}
func NewGame_chatServerGroupData(_buf map[string]interface{}) (_v *Game_chatServerGroupData, err error) {
_v = &Game_chatServerGroupData{}
func (_v *GamechatServerGroupData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Server, _ok_ = _buf["server"].(string); !_ok_ { err = errors.New("server error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
return
}
func DeserializeGamechatServerGroupData(_buf map[string]interface{}) (*GamechatServerGroupData, error) {
v := &GamechatServerGroupData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_chatSystem struct {
_dataMap map[int32]*Game_chatSystemData
_dataList []*Game_chatSystemData
type GamechatSystem struct {
_dataMap map[int32]*GamechatSystemData
_dataList []*GamechatSystemData
}
func NewGame_chatSystem(_buf []map[string]interface{}) (*Game_chatSystem, error) {
_dataList := make([]*Game_chatSystemData, 0, len(_buf))
dataMap := make(map[int32]*Game_chatSystemData)
func NewGamechatSystem(_buf []map[string]interface{}) (*GamechatSystem, error) {
_dataList := make([]*GamechatSystemData, 0, len(_buf))
dataMap := make(map[int32]*GamechatSystemData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatSystemData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamechatSystemData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_chatSystem{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamechatSystem{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_chatSystem) GetDataMap() map[int32]*Game_chatSystemData {
func (table *GamechatSystem) GetDataMap() map[int32]*GamechatSystemData {
return table._dataMap
}
func (table *Game_chatSystem) GetDataList() []*Game_chatSystemData {
func (table *GamechatSystem) GetDataList() []*GamechatSystemData {
return table._dataList
}
func (table *Game_chatSystem) Get(key int32) *Game_chatSystemData {
func (table *GamechatSystem) Get(key int32) *GamechatSystemData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_chatSystemData struct {
type GamechatSystemData struct {
Key int32
Type int32
Title string
@ -22,12 +22,13 @@ type Game_chatSystemData struct {
TimeM int32
}
func (Game_chatSystemData) GetTypeId() int {
const TypeId_GamechatSystemData = -198348435
func (*GamechatSystemData) GetTypeId() int32 {
return -198348435
}
func NewGame_chatSystemData(_buf map[string]interface{}) (_v *Game_chatSystemData, err error) {
_v = &Game_chatSystemData{}
func (_v *GamechatSystemData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; if _v.Title, _ok_ = _buf["title"].(string); !_ok_ { err = errors.New("title error"); return } }
@ -52,3 +53,12 @@ func NewGame_chatSystemData(_buf map[string]interface{}) (_v *Game_chatSystemDat
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time_m"].(float64); !_ok_ { err = errors.New("time_m error"); return }; _v.TimeM = int32(_tempNum_) }
return
}
func DeserializeGamechatSystemData(_buf map[string]interface{}) (*GamechatSystemData, error) {
v := &GamechatSystemData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_coin struct {
_dataMap map[string]*Game_coinData
_dataList []*Game_coinData
type Gamecoin struct {
_dataMap map[string]*GamecoinData
_dataList []*GamecoinData
}
func NewGame_coin(_buf []map[string]interface{}) (*Game_coin, error) {
_dataList := make([]*Game_coinData, 0, len(_buf))
dataMap := make(map[string]*Game_coinData)
func NewGamecoin(_buf []map[string]interface{}) (*Gamecoin, error) {
_dataList := make([]*GamecoinData, 0, len(_buf))
dataMap := make(map[string]*GamecoinData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_coinData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamecoinData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_coin{_dataList:_dataList, _dataMap:dataMap}, nil
return &Gamecoin{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_coin) GetDataMap() map[string]*Game_coinData {
func (table *Gamecoin) GetDataMap() map[string]*GamecoinData {
return table._dataMap
}
func (table *Game_coin) GetDataList() []*Game_coinData {
func (table *Gamecoin) GetDataList() []*GamecoinData {
return table._dataList
}
func (table *Game_coin) Get(key string) *Game_coinData {
func (table *Gamecoin) Get(key string) *GamecoinData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_coinData struct {
type GamecoinData struct {
Key string
Name string
Color int32
@ -23,12 +23,13 @@ type Game_coinData struct {
Intr string
}
func (Game_coinData) GetTypeId() int {
const TypeId_GamecoinData = 552622167
func (*GamecoinData) GetTypeId() int32 {
return 552622167
}
func NewGame_coinData(_buf map[string]interface{}) (_v *Game_coinData, err error) {
_v = &Game_coinData{}
func (_v *GamecoinData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
@ -41,3 +42,12 @@ func NewGame_coinData(_buf map[string]interface{}) (_v *Game_coinData, err error
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
return
}
func DeserializeGamecoinData(_buf map[string]interface{}) (*GamecoinData, error) {
v := &GamecoinData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_com struct {
_dataMap map[string]*Game_comData
_dataList []*Game_comData
type Gamecom struct {
_dataMap map[int32]*GamecomData
_dataList []*GamecomData
}
func NewGame_com(_buf []map[string]interface{}) (*Game_com, error) {
_dataList := make([]*Game_comData, 0, len(_buf))
dataMap := make(map[string]*Game_comData)
func NewGamecom(_buf []map[string]interface{}) (*Gamecom, error) {
_dataList := make([]*GamecomData, 0, len(_buf))
dataMap := make(map[int32]*GamecomData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_comData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamecomData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Index] = _v
dataMap[_v.MaxChar] = _v
}
}
return &Game_com{_dataList:_dataList, _dataMap:dataMap}, nil
return &Gamecom{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_com) GetDataMap() map[string]*Game_comData {
func (table *Gamecom) GetDataMap() map[int32]*GamecomData {
return table._dataMap
}
func (table *Game_com) GetDataList() []*Game_comData {
func (table *Gamecom) GetDataList() []*GamecomData {
return table._dataList
}
func (table *Game_com) Get(key string) *Game_comData {
func (table *Gamecom) Get(key int32) *GamecomData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_comAtn struct {
_dataMap map[string]*Game_comAtnData
_dataList []*Game_comAtnData
type GamecomAtn struct {
_dataMap map[string]*GamecomAtnData
_dataList []*GamecomAtnData
}
func NewGame_comAtn(_buf []map[string]interface{}) (*Game_comAtn, error) {
_dataList := make([]*Game_comAtnData, 0, len(_buf))
dataMap := make(map[string]*Game_comAtnData)
func NewGamecomAtn(_buf []map[string]interface{}) (*GamecomAtn, error) {
_dataList := make([]*GamecomAtnData, 0, len(_buf))
dataMap := make(map[string]*GamecomAtnData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_comAtnData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamecomAtnData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Index] = _v
}
}
return &Game_comAtn{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamecomAtn{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_comAtn) GetDataMap() map[string]*Game_comAtnData {
func (table *GamecomAtn) GetDataMap() map[string]*GamecomAtnData {
return table._dataMap
}
func (table *Game_comAtn) GetDataList() []*Game_comAtnData {
func (table *GamecomAtn) GetDataList() []*GamecomAtnData {
return table._dataList
}
func (table *Game_comAtn) Get(key string) *Game_comAtnData {
func (table *GamecomAtn) Get(key string) *GamecomAtnData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,35 +5,46 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_comAtnData struct {
type GamecomAtnData struct {
Index string
Var []*Game_atn
Var []*Gameatn
}
func (Game_comAtnData) GetTypeId() int {
const TypeId_GamecomAtnData = 1272050592
func (*GamecomAtnData) GetTypeId() int32 {
return 1272050592
}
func NewGame_comAtnData(_buf map[string]interface{}) (_v *Game_comAtnData, err error) {
_v = &Game_comAtnData{}
func (_v *GamecomAtnData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["var"].([]interface{}); !_ok_ { err = errors.New("var error"); return }
_v.Var = make([]*Game_atn, 0, len(_arr_))
_v.Var = make([]*Gameatn, 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 } }
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Var = append(_v.Var, _list_v_)
}
}
return
}
func DeserializeGamecomAtnData(_buf map[string]interface{}) (*GamecomAtnData, error) {
v := &GamecomAtnData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,24 +5,200 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_comData struct {
Index string
Var string
Intr string
type GamecomData struct {
MaxChar int32
TaskReset int32
InitGold int32
InitHero []int32
Cameramin []int32
MaxGetreward []int32
Cameramax []float32
Heroshownum int32
Equipsuitsum []int32
FriendMaxnum int32
FriendMinnum int32
FriendMaxgetnum int32
FriendMaxsendnum int32
FriendDate int32
FriendRecordtime int32
FriendBlack int32
ChannelCdWorld int32
ChannelCdGuild int32
ChannelCdPrivate int32
ChannelCdPublic int32
ChannelLockIcon int32
MaxWord int32
MaxChat int32
MaxObject int32
LoadChat int32
ChannelAllocationMax int32
ChannelSwitchingMax int32
DrawToplimit int32
Draw10Star4Max int32
Draw10Star5Max int32
DrawFloorStar4 int32
DrawFloorStar5 int32
DuplicateRemoval int32
BasePoolCost *Gameatn
Camp1PoolCost *Gameatn
Camp2PoolCost *Gameatn
Camp3PoolCost *Gameatn
Camp4PoolCost *Gameatn
Camp1Pool1 string
Camp2Pool1 string
Camp3Pool1 string
Camp4Pool1 string
BasePool1 *Gamebasepool
BasePool2 *Gamebasepool
BasePool3 *Gamebasepool
BasePool4 *Gamebasepool
BasePoolStar3 int32
BasePoolStar4 int32
BasePoolStar5 int32
CampPoolStar3 int32
CampPoolStar4 int32
CampPoolStar5 int32
Gourmet int32
}
func (Game_comData) GetTypeId() int {
const TypeId_GamecomData = -395344177
func (*GamecomData) GetTypeId() int32 {
return -395344177
}
func NewGame_comData(_buf map[string]interface{}) (_v *Game_comData, err error) {
_v = &Game_comData{}
{ var _ok_ bool; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } }
{ var _ok_ bool; if _v.Var, _ok_ = _buf["var"].(string); !_ok_ { err = errors.New("var error"); return } }
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
func (_v *GamecomData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max_char"].(float64); !_ok_ { err = errors.New("max_char error"); return }; _v.MaxChar = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["task_reset"].(float64); !_ok_ { err = errors.New("task_reset error"); return }; _v.TaskReset = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["init_gold"].(float64); !_ok_ { err = errors.New("init_gold error"); return }; _v.InitGold = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["init_hero"].([]interface{}); !_ok_ { err = errors.New("init_hero error"); return }
_v.InitHero = 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.InitHero = append(_v.InitHero, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["cameramin"].([]interface{}); !_ok_ { err = errors.New("cameramin error"); return }
_v.Cameramin = 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.Cameramin = append(_v.Cameramin, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["max_getreward"].([]interface{}); !_ok_ { err = errors.New("max_getreward error"); return }
_v.MaxGetreward = 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.MaxGetreward = append(_v.MaxGetreward, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["cameramax"].([]interface{}); !_ok_ { err = errors.New("cameramax error"); return }
_v.Cameramax = 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.Cameramax = append(_v.Cameramax, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroshownum"].(float64); !_ok_ { err = errors.New("heroshownum error"); return }; _v.Heroshownum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["equipsuitsum"].([]interface{}); !_ok_ { err = errors.New("equipsuitsum error"); return }
_v.Equipsuitsum = 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.Equipsuitsum = append(_v.Equipsuitsum, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_maxnum"].(float64); !_ok_ { err = errors.New("friend_maxnum error"); return }; _v.FriendMaxnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_minnum"].(float64); !_ok_ { err = errors.New("friend_minnum error"); return }; _v.FriendMinnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_maxgetnum"].(float64); !_ok_ { err = errors.New("friend_maxgetnum error"); return }; _v.FriendMaxgetnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_maxsendnum"].(float64); !_ok_ { err = errors.New("friend_maxsendnum error"); return }; _v.FriendMaxsendnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_date"].(float64); !_ok_ { err = errors.New("friend_date error"); return }; _v.FriendDate = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_recordtime"].(float64); !_ok_ { err = errors.New("friend_recordtime error"); return }; _v.FriendRecordtime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_black"].(float64); !_ok_ { err = errors.New("friend_black error"); return }; _v.FriendBlack = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_cd_world"].(float64); !_ok_ { err = errors.New("channel_cd_world error"); return }; _v.ChannelCdWorld = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_cd_guild"].(float64); !_ok_ { err = errors.New("channel_cd_guild error"); return }; _v.ChannelCdGuild = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_cd_private"].(float64); !_ok_ { err = errors.New("channel_cd_private error"); return }; _v.ChannelCdPrivate = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_cd_public"].(float64); !_ok_ { err = errors.New("channel_cd_public error"); return }; _v.ChannelCdPublic = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_lock_icon"].(float64); !_ok_ { err = errors.New("channel_lock_icon error"); return }; _v.ChannelLockIcon = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max_word"].(float64); !_ok_ { err = errors.New("max_word error"); return }; _v.MaxWord = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max_chat"].(float64); !_ok_ { err = errors.New("max_chat error"); return }; _v.MaxChat = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max_object"].(float64); !_ok_ { err = errors.New("max_object error"); return }; _v.MaxObject = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["load_chat"].(float64); !_ok_ { err = errors.New("load_chat error"); return }; _v.LoadChat = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_allocation_max"].(float64); !_ok_ { err = errors.New("channel_allocation_max error"); return }; _v.ChannelAllocationMax = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["channel_switching_max"].(float64); !_ok_ { err = errors.New("channel_switching_max error"); return }; _v.ChannelSwitchingMax = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_toplimit"].(float64); !_ok_ { err = errors.New("draw_toplimit error"); return }; _v.DrawToplimit = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw10_star4_max"].(float64); !_ok_ { err = errors.New("draw10_star4_max error"); return }; _v.Draw10Star4Max = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw10_star5_max"].(float64); !_ok_ { err = errors.New("draw10_star5_max error"); return }; _v.Draw10Star5Max = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_floor_star4"].(float64); !_ok_ { err = errors.New("draw_floor_star4 error"); return }; _v.DrawFloorStar4 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["draw_floor_star5"].(float64); !_ok_ { err = errors.New("draw_floor_star5 error"); return }; _v.DrawFloorStar5 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duplicate_removal"].(float64); !_ok_ { err = errors.New("duplicate_removal error"); return }; _v.DuplicateRemoval = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool_cost error"); return }; if _v.BasePoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp1_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp1_pool_cost error"); return }; if _v.Camp1PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp2_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp2_pool_cost error"); return }; if _v.Camp2PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp3_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp3_pool_cost error"); return }; if _v.Camp3PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["camp4_pool_cost"].(map[string]interface{}); !_ok_ { err = errors.New("camp4_pool_cost error"); return }; if _v.Camp4PoolCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; if _v.Camp1Pool1, _ok_ = _buf["camp1_pool1"].(string); !_ok_ { err = errors.New("camp1_pool1 error"); return } }
{ var _ok_ bool; if _v.Camp2Pool1, _ok_ = _buf["camp2_pool1"].(string); !_ok_ { err = errors.New("camp2_pool1 error"); return } }
{ var _ok_ bool; if _v.Camp3Pool1, _ok_ = _buf["camp3_pool1"].(string); !_ok_ { err = errors.New("camp3_pool1 error"); return } }
{ var _ok_ bool; if _v.Camp4Pool1, _ok_ = _buf["camp4_pool1"].(string); !_ok_ { err = errors.New("camp4_pool1 error"); return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool1"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool1 error"); return }; if _v.BasePool1, err = DeserializeGamebasepool(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool2"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool2 error"); return }; if _v.BasePool2, err = DeserializeGamebasepool(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool3"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool3 error"); return }; if _v.BasePool3, err = DeserializeGamebasepool(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["base_pool4"].(map[string]interface{}); !_ok_ { err = errors.New("base_pool4 error"); return }; if _v.BasePool4, err = DeserializeGamebasepool(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star3"].(float64); !_ok_ { err = errors.New("base_pool_star3 error"); return }; _v.BasePoolStar3 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star4"].(float64); !_ok_ { err = errors.New("base_pool_star4 error"); return }; _v.BasePoolStar4 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["base_pool_star5"].(float64); !_ok_ { err = errors.New("base_pool_star5 error"); return }; _v.BasePoolStar5 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star3"].(float64); !_ok_ { err = errors.New("camp_pool_star3 error"); return }; _v.CampPoolStar3 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star4"].(float64); !_ok_ { err = errors.New("camp_pool_star4 error"); return }; _v.CampPoolStar4 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camp_pool_star5"].(float64); !_ok_ { err = errors.New("camp_pool_star5 error"); return }; _v.CampPoolStar5 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gourmet"].(float64); !_ok_ { err = errors.New("gourmet error"); return }; _v.Gourmet = int32(_tempNum_) }
return
}
func DeserializeGamecomData(_buf map[string]interface{}) (*GamecomData, error) {
v := &GamecomData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_drawCard struct {
_dataMap map[int32]*Game_drawCardData
_dataList []*Game_drawCardData
type GamedrawCard struct {
_dataMap map[int32]*GamedrawCardData
_dataList []*GamedrawCardData
}
func NewGame_drawCard(_buf []map[string]interface{}) (*Game_drawCard, error) {
_dataList := make([]*Game_drawCardData, 0, len(_buf))
dataMap := make(map[int32]*Game_drawCardData)
func NewGamedrawCard(_buf []map[string]interface{}) (*GamedrawCard, error) {
_dataList := make([]*GamedrawCardData, 0, len(_buf))
dataMap := make(map[int32]*GamedrawCardData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_drawCardData(_ele_); err2 != nil {
if _v, err2 := DeserializeGamedrawCardData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_drawCard{_dataList:_dataList, _dataMap:dataMap}, nil
return &GamedrawCard{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_drawCard) GetDataMap() map[int32]*Game_drawCardData {
func (table *GamedrawCard) GetDataMap() map[int32]*GamedrawCardData {
return table._dataMap
}
func (table *Game_drawCard) GetDataList() []*Game_drawCardData {
func (table *GamedrawCard) GetDataList() []*GamedrawCardData {
return table._dataList
}
func (table *Game_drawCard) Get(key int32) *Game_drawCardData {
func (table *GamedrawCard) Get(key int32) *GamedrawCardData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,26 +5,43 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_drawCardData struct {
type GamedrawCardData struct {
Key int32
RecruitmentType int32
CardPoolType string
Star int32
Race int32
Id string
TypeId int32
Weight int32
}
func (Game_drawCardData) GetTypeId() int {
const TypeId_GamedrawCardData = -179684166
func (*GamedrawCardData) GetTypeId() int32 {
return -179684166
}
func NewGame_drawCardData(_buf map[string]interface{}) (_v *Game_drawCardData, err error) {
_v = &Game_drawCardData{}
func (_v *GamedrawCardData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["recruitment_type"].(float64); !_ok_ { err = errors.New("recruitment_type error"); return }; _v.RecruitmentType = int32(_tempNum_) }
{ var _ok_ bool; if _v.CardPoolType, _ok_ = _buf["card_pool_type"].(string); !_ok_ { err = errors.New("card_pool_type error"); return } }
{ 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["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type_id"].(float64); !_ok_ { err = errors.New("type_id error"); return }; _v.TypeId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
return
}
func DeserializeGamedrawCardData(_buf map[string]interface{}) (*GamedrawCardData, error) {
v := &GamedrawCardData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

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_drawCom struct {
_dataMap map[string]*Game_drawComData
_dataList []*Game_drawComData
}
func NewGame_drawCom(_buf []map[string]interface{}) (*Game_drawCom, error) {
_dataList := make([]*Game_drawComData, 0, len(_buf))
dataMap := make(map[string]*Game_drawComData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_drawComData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_drawCom{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_drawCom) GetDataMap() map[string]*Game_drawComData {
return table._dataMap
}
func (table *Game_drawCom) GetDataList() []*Game_drawComData {
return table._dataList
}
func (table *Game_drawCom) Get(key string) *Game_drawComData {
return table._dataMap[key]
}

View File

@ -1,27 +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_drawComData struct {
Key string
Value int32
}
func (Game_drawComData) GetTypeId() int {
return 2052037355
}
func NewGame_drawComData(_buf map[string]interface{}) (_v *Game_drawComData, err error) {
_v = &Game_drawComData{}
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
return
}

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_drawCost struct {
_dataMap map[int32]*Game_drawCostData
_dataList []*Game_drawCostData
}
func NewGame_drawCost(_buf []map[string]interface{}) (*Game_drawCost, error) {
_dataList := make([]*Game_drawCostData, 0, len(_buf))
dataMap := make(map[int32]*Game_drawCostData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_drawCostData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_drawCost{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_drawCost) GetDataMap() map[int32]*Game_drawCostData {
return table._dataMap
}
func (table *Game_drawCost) GetDataList() []*Game_drawCostData {
return table._dataList
}
func (table *Game_drawCost) Get(key int32) *Game_drawCostData {
return table._dataMap[key]
}

View File

@ -1,37 +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_drawCostData struct {
Key int32
Count int32
Cost *Game_atn
Floor4 int32
Floor5 int32
Floor4cards int32
Floor5cards int32
}
func (Game_drawCostData) GetTypeId() int {
return -596129033
}
func NewGame_drawCostData(_buf map[string]interface{}) (_v *Game_drawCostData, err error) {
_v = &Game_drawCostData{}
{ 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["count"].(float64); !_ok_ { err = errors.New("count error"); return }; _v.Count = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["cost"].(map[string]interface{}); !_ok_ { err = errors.New("cost error"); return }; if _v.Cost, err = NewGame_atn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floor4"].(float64); !_ok_ { err = errors.New("floor4 error"); return }; _v.Floor4 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floor5"].(float64); !_ok_ { err = errors.New("floor5 error"); return }; _v.Floor5 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floor4cards"].(float64); !_ok_ { err = errors.New("floor4cards error"); return }; _v.Floor4cards = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floor5cards"].(float64); !_ok_ { err = errors.New("floor5cards error"); return }; _v.Floor5cards = int32(_tempNum_) }
return
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_equip struct {
_dataMap map[string]*Game_equipData
_dataList []*Game_equipData
type Gameequip struct {
_dataMap map[string]*GameequipData
_dataList []*GameequipData
}
func NewGame_equip(_buf []map[string]interface{}) (*Game_equip, error) {
_dataList := make([]*Game_equipData, 0, len(_buf))
dataMap := make(map[string]*Game_equipData)
func NewGameequip(_buf []map[string]interface{}) (*Gameequip, error) {
_dataList := make([]*GameequipData, 0, len(_buf))
dataMap := make(map[string]*GameequipData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_equipData(_ele_); err2 != nil {
if _v, err2 := DeserializeGameequipData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &Game_equip{_dataList:_dataList, _dataMap:dataMap}, nil
return &Gameequip{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_equip) GetDataMap() map[string]*Game_equipData {
func (table *Gameequip) GetDataMap() map[string]*GameequipData {
return table._dataMap
}
func (table *Game_equip) GetDataList() []*Game_equipData {
func (table *Gameequip) GetDataList() []*GameequipData {
return table._dataList
}
func (table *Game_equip) Get(key string) *Game_equipData {
func (table *Gameequip) Get(key string) *GameequipData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_equipAttrlibrary struct {
_dataMap map[int32]*Game_equipAttrlibraryData
_dataList []*Game_equipAttrlibraryData
type GameequipAttrlibrary struct {
_dataMap map[int32]*GameequipAttrlibraryData
_dataList []*GameequipAttrlibraryData
}
func NewGame_equipAttrlibrary(_buf []map[string]interface{}) (*Game_equipAttrlibrary, error) {
_dataList := make([]*Game_equipAttrlibraryData, 0, len(_buf))
dataMap := make(map[int32]*Game_equipAttrlibraryData)
func NewGameequipAttrlibrary(_buf []map[string]interface{}) (*GameequipAttrlibrary, error) {
_dataList := make([]*GameequipAttrlibraryData, 0, len(_buf))
dataMap := make(map[int32]*GameequipAttrlibraryData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_equipAttrlibraryData(_ele_); err2 != nil {
if _v, err2 := DeserializeGameequipAttrlibraryData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &Game_equipAttrlibrary{_dataList:_dataList, _dataMap:dataMap}, nil
return &GameequipAttrlibrary{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Game_equipAttrlibrary) GetDataMap() map[int32]*Game_equipAttrlibraryData {
func (table *GameequipAttrlibrary) GetDataMap() map[int32]*GameequipAttrlibraryData {
return table._dataMap
}
func (table *Game_equipAttrlibrary) GetDataList() []*Game_equipAttrlibraryData {
func (table *GameequipAttrlibrary) GetDataList() []*GameequipAttrlibraryData {
return table._dataList
}
func (table *Game_equipAttrlibrary) Get(key int32) *Game_equipAttrlibraryData {
func (table *GameequipAttrlibrary) Get(key int32) *GameequipAttrlibraryData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_equipAttrlibraryData struct {
type GameequipAttrlibraryData struct {
Key int32
Libraryid int32
Attrkey string
@ -19,12 +19,13 @@ type Game_equipAttrlibraryData struct {
Addition []int32
}
func (Game_equipAttrlibraryData) GetTypeId() int {
const TypeId_GameequipAttrlibraryData = -437457248
func (*GameequipAttrlibraryData) GetTypeId() int32 {
return -437457248
}
func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAttrlibraryData, err error) {
_v = &Game_equipAttrlibraryData{}
func (_v *GameequipAttrlibraryData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ { err = errors.New("libraryid error"); return }; _v.Libraryid = int32(_tempNum_) }
{ var _ok_ bool; if _v.Attrkey, _ok_ = _buf["attrkey"].(string); !_ok_ { err = errors.New("attrkey error"); return } }
@ -46,3 +47,12 @@ func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAt
return
}
func DeserializeGameequipAttrlibraryData(_buf map[string]interface{}) (*GameequipAttrlibraryData, error) {
v := &GameequipAttrlibraryData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,37 +5,36 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type Game_equipColor struct {
_dataMap map[int32]*Game_equipColorData
_dataList []*Game_equipColorData
type GameequipColor struct {
_dataMap map[int32]*GameequipColorData
_dataList []*GameequipColorData
}
func NewGame_equipColor(_buf []map[string]interface{}) (*Game_equipColor, error) {
_dataList := make([]*Game_equipColorData, 0, len(_buf))
dataMap := make(map[int32]*Game_equipColorData)
func NewGameequipColor(_buf []map[string]interface{}) (*GameequipColor, error) {
_dataList := make([]*GameequipColorData, 0, len(_buf))
dataMap := make(map[int32]*GameequipColorData)
for _, _ele_ := range _buf {
if _v, err2 := NewGame_equipColorData(_ele_); err2 != nil {
if _v, err2 := DeserializeGameequipColorData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &Game_equipColor{_dataList:_dataList, _dataMap:dataMap}, nil
return &GameequipColor{_dataList: _dataList, _dataMap: dataMap}, nil
}
func (table *Game_equipColor) GetDataMap() map[int32]*Game_equipColorData {
func (table *GameequipColor) GetDataMap() map[int32]*GameequipColorData {
return table._dataMap
}
func (table *Game_equipColor) GetDataList() []*Game_equipColorData {
func (table *GameequipColor) GetDataList() []*GameequipColorData {
return table._dataList
}
func (table *Game_equipColor) Get(key int32) *Game_equipColorData {
func (table *GameequipColor) Get(key int32) *GameequipColorData {
return table._dataMap[key]
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,22 +5,33 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_equipColorData struct {
type GameequipColorData struct {
Num int32
Color string
}
func (Game_equipColorData) GetTypeId() int {
const TypeId_GameequipColorData = 2132033753
func (*GameequipColorData) GetTypeId() int32 {
return 2132033753
}
func NewGame_equipColorData(_buf map[string]interface{}) (_v *Game_equipColorData, err error) {
_v = &Game_equipColorData{}
func (_v *GameequipColorData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["color"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Color error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Color, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}
func DeserializeGameequipColorData(_buf map[string]interface{}) (*GameequipColorData, error) {
v := &GameequipColorData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_equipData struct {
type GameequipData struct {
Id string
Name string
Suittype int32
@ -24,15 +24,16 @@ type Game_equipData struct {
Addlibrary int32
Ico string
UseSkip int32
Sale []*Game_atn
Sale []*Gameatn
}
func (Game_equipData) GetTypeId() int {
const TypeId_GameequipData = 1778846974
func (*GameequipData) GetTypeId() int32 {
return 1778846974
}
func NewGame_equipData(_buf map[string]interface{}) (_v *Game_equipData, err error) {
_v = &Game_equipData{}
func (_v *GameequipData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) }
@ -77,14 +78,23 @@ func NewGame_equipData(_buf map[string]interface{}) (_v *Game_equipData, err err
var _ok_ bool
if _arr_, _ok_ = _buf["sale"].([]interface{}); !_ok_ { err = errors.New("sale error"); return }
_v.Sale = make([]*Game_atn, 0, len(_arr_))
_v.Sale = make([]*Gameatn, 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 } }
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Sale = append(_v.Sale, _list_v_)
}
}
return
}
func DeserializeGameequipData(_buf map[string]interface{}) (*GameequipData, error) {
v := &GameequipData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

Some files were not shown because too many files have changed in this diff Show More