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", "key": "equip_13215",
"text_cn": "暴击率\u002B20%" "text_cn": "暴击率+20%"
}, },
{ {
"key": "equip_13216", "key": "equip_13216",
@ -3023,6 +3023,10 @@
"key": "skillname_125004311", "key": "skillname_125004311",
"text_cn": "波比3技能" "text_cn": "波比3技能"
}, },
{
"key": "skillname_925004211",
"text_cn": "波比2技能"
},
{ {
"key": "skillname_135002011", "key": "skillname_135002011",
"text_cn": "希卡普队长技" "text_cn": "希卡普队长技"
@ -3043,6 +3047,26 @@
"key": "skillname_935002321", "key": "skillname_935002321",
"text_cn": "希卡普3技能" "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", "key": "skill_1250040111",
"text_cn": "队长技我方全体效果抵抗增加40%" "text_cn": "队长技我方全体效果抵抗增加40%"
@ -3183,6 +3207,70 @@
"key": "skill_9350023216", "key": "skill_9350023216",
"text_cn": "冷却时间减少1回合" "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", "key": "skill_190011000",
"text_cn": "我方全体防御增加30%" "text_cn": "我方全体防御增加30%"
@ -3891,6 +3979,30 @@
"key": "num_1018", "key": "num_1018",
"text_cn": "戈伯铁匠铺" "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", "key": "opencond_name_10001",
"text_cn": "背包" "text_cn": "背包"
@ -3949,7 +4061,7 @@
}, },
{ {
"key": "hero_help_10005", "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", "key": "hero_help_10006",
@ -3957,6 +4069,6 @@
}, },
{ {
"key": "hero_help_10007", "key": "hero_help_10007",
"text_cn": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。\u003Cbr/\u003E如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级" "text_cn": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。<br/>如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
} }
] ]

View File

@ -413,11 +413,11 @@
}, },
{ {
"key": "hero_51002", "key": "hero_51002",
"text_en": "Erret\u0027s No. 1 (new)" "text_en": "Erret's No. 1 (new)"
}, },
{ {
"key": "hero_51003", "key": "hero_51003",
"text_en": "Erret\u0027s No. 2 (new)" "text_en": "Erret's No. 2 (new)"
}, },
{ {
"key": "hero_51004", "key": "hero_51004",
@ -441,7 +441,7 @@
}, },
{ {
"key": "hero_51009", "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", "key": "hero_51010",
@ -525,7 +525,7 @@
}, },
{ {
"key": "hero_55010", "key": "hero_55010",
"text_en": "Mr. Piranha\u0027s handsome batch" "text_en": "Mr. Piranha's handsome batch"
}, },
{ {
"key": "hero_55011", "key": "hero_55011",
@ -533,7 +533,7 @@
}, },
{ {
"key": "hero_55012", "key": "hero_55012",
"text_en": "Lord Farquad\u0027s handsome batch" "text_en": "Lord Farquad's handsome batch"
}, },
{ {
"key": "hero_55013", "key": "hero_55013",
@ -561,11 +561,11 @@
}, },
{ {
"key": "hero_55019", "key": "hero_55019",
"text_en": "Blanche\u0027s handsome batch" "text_en": "Blanche's handsome batch"
}, },
{ {
"key": "hero_55020", "key": "hero_55020",
"text_en": "Prince Grist\u0027s handsome batch" "text_en": "Prince Grist's handsome batch"
}, },
{ {
"key": "hero_55021", "key": "hero_55021",
@ -589,7 +589,7 @@
}, },
{ {
"key": "hero_55026", "key": "hero_55026",
"text_en": "Captain Smack\u0027s handsome batch" "text_en": "Captain Smack's handsome batch"
}, },
{ {
"key": "hero_55027", "key": "hero_55027",
@ -625,7 +625,7 @@
}, },
{ {
"key": "hero_55035", "key": "hero_55035",
"text_en": "Kyle\u0027s group" "text_en": "Kyle's group"
}, },
{ {
"key": "hero_55036", "key": "hero_55036",
@ -641,11 +641,11 @@
}, },
{ {
"key": "hero_55039", "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", "key": "hero_55040",
"text_en": "Mr. Wolfe\u0027s handsome batch" "text_en": "Mr. Wolfe's handsome batch"
}, },
{ {
"key": "hero_55041", "key": "hero_55041",
@ -669,7 +669,7 @@
}, },
{ {
"key": "hero_55046", "key": "hero_55046",
"text_en": "Prue Granger\u0027s handsome batch" "text_en": "Prue Granger's handsome batch"
}, },
{ {
"key": "hero_55047", "key": "hero_55047",
@ -697,7 +697,7 @@
}, },
{ {
"key": "hero_55053", "key": "hero_55053",
"text_en": "Walter Strickler\u0027s handsome batch" "text_en": "Walter Strickler's handsome batch"
}, },
{ {
"key": "hero_55054", "key": "hero_55054",
@ -705,11 +705,11 @@
}, },
{ {
"key": "hero_55055", "key": "hero_55055",
"text_en": "Fiona\u0027s handsome batch" "text_en": "Fiona's handsome batch"
}, },
{ {
"key": "hero_55056", "key": "hero_55056",
"text_en": "Huffnut\u0027s handsome batch" "text_en": "Huffnut's handsome batch"
}, },
{ {
"key": "hero_55057", "key": "hero_55057",
@ -733,11 +733,11 @@
}, },
{ {
"key": "hero_55062", "key": "hero_55062",
"text_en": "Mr. Ping\u0027s handsome group" "text_en": "Mr. Ping's handsome group"
}, },
{ {
"key": "hero_55063", "key": "hero_55063",
"text_en": "Abigail Stone\u0027s handsome batch" "text_en": "Abigail Stone's handsome batch"
}, },
{ {
"key": "hero_55064", "key": "hero_55064",
@ -753,11 +753,11 @@
}, },
{ {
"key": "hero_55067", "key": "hero_55067",
"text_en": "Commander Vahir\u0027s handsome group" "text_en": "Commander Vahir's handsome group"
}, },
{ {
"key": "hero_55068", "key": "hero_55068",
"text_en": "Bridget\u0027s handsome batch" "text_en": "Bridget's handsome batch"
}, },
{ {
"key": "hero_55069", "key": "hero_55069",
@ -797,7 +797,7 @@
}, },
{ {
"key": "hero_55078", "key": "hero_55078",
"text_en": "Guy\u0027s group" "text_en": "Guy's group"
}, },
{ {
"key": "hero_55079", "key": "hero_55079",
@ -1801,7 +1801,7 @@
}, },
{ {
"key": "equip_13215", "key": "equip_13215",
"text_en": "Critical strike rate \u002B20%" "text_en": "Critical strike rate +20%"
}, },
{ {
"key": "equip_13216", "key": "equip_13216",
@ -2149,279 +2149,279 @@
}, },
{ {
"key": "mainline_desc_10002", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "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", "key": "mainline_text_10001",
@ -3023,6 +3023,10 @@
"key": "skillname_125004311", "key": "skillname_125004311",
"text_en": "" "text_en": ""
}, },
{
"key": "skillname_925004211",
"text_en": ""
},
{ {
"key": "skillname_135002011", "key": "skillname_135002011",
"text_en": "" "text_en": ""
@ -3043,6 +3047,26 @@
"key": "skillname_935002321", "key": "skillname_935002321",
"text_en": "" "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", "key": "skill_1250040111",
"text_en": "" "text_en": ""
@ -3183,9 +3207,73 @@
"key": "skill_9350023216", "key": "skill_9350023216",
"text_en": "" "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", "key": "skill_190011000",
"text_en": "Increases all allies\u0027 defense by 30%" "text_en": "Increases all allies' defense by 30%"
}, },
{ {
"key": "skill_190012000", "key": "skill_190012000",
@ -3193,7 +3281,7 @@
}, },
{ {
"key": "skill_190013000", "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", "key": "skill_190014000",
@ -3209,7 +3297,7 @@
}, },
{ {
"key": "skill_190017000", "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", "key": "skill_190018000",
@ -3645,7 +3733,7 @@
}, },
{ {
"key": "itemdesc_10011", "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", "key": "itemdesc_10012",
@ -3721,7 +3809,7 @@
}, },
{ {
"key": "itemname_10014", "key": "itemname_10014",
"text_en": "Adventurer\u0027s Medal" "text_en": "Adventurer's Medal"
}, },
{ {
"key": "itemname_10015", "key": "itemname_10015",
@ -3753,7 +3841,7 @@
}, },
{ {
"key": "skillname_190011000", "key": "skillname_190011000",
"text_en": "Captain Po\u0027s skills" "text_en": "Captain Po's skills"
}, },
{ {
"key": "skillname_190012000", "key": "skillname_190012000",
@ -3769,7 +3857,7 @@
}, },
{ {
"key": "skillname_190014000", "key": "skillname_190014000",
"text_en": "Captain Poppy\u0027s skills" "text_en": "Captain Poppy's skills"
}, },
{ {
"key": "skillname_190016000", "key": "skillname_190016000",
@ -3891,6 +3979,30 @@
"key": "num_1018", "key": "num_1018",
"text_en": "GOBER BACKSMITH SHOP" "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", "key": "opencond_name_10001",
"text_en": "INVENTORY" "text_en": "INVENTORY"
@ -3949,7 +4061,7 @@
}, },
{ {
"key": "hero_help_10005", "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", "key": "hero_help_10006",
@ -3957,6 +4069,6 @@
}, },
{ {
"key": "hero_help_10007", "key": "hero_help_10007",
"text_en": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。\u003Cbr/\u003E如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级" "text_en": "使用稀有/史诗/传说品质的技能精灵可以提升对应品质英雄的技能等级,技能升级时将随机选择还可以继续升级的技能。<br/>如果英雄的所有技能等级满级,将不能再使用技能精灵提升等级"
} }
] ]

View File

@ -3023,6 +3023,10 @@
"key": "skillname_125004311", "key": "skillname_125004311",
"text_tw": "" "text_tw": ""
}, },
{
"key": "skillname_925004211",
"text_tw": ""
},
{ {
"key": "skillname_135002011", "key": "skillname_135002011",
"text_tw": "" "text_tw": ""
@ -3043,6 +3047,26 @@
"key": "skillname_935002321", "key": "skillname_935002321",
"text_tw": "" "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", "key": "skill_1250040111",
"text_tw": "" "text_tw": ""
@ -3183,6 +3207,70 @@
"key": "skill_9350023216", "key": "skill_9350023216",
"text_tw": "" "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", "key": "skill_190011000",
"text_tw": "" "text_tw": ""
@ -3891,6 +3979,30 @@
"key": "num_1018", "key": "num_1018",
"text_tw": "" "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", "key": "opencond_name_10001",
"text_tw": "" "text_tw": ""

View File

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

View File

@ -1,262 +1,114 @@
[ [
{ {
"index": "max_getreward", "max_char": 100,
"var": "10002,99", "task_reset": 8,
"intr": "领取/赠送奖励" "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
}, },
{ "camp1_pool_cost": {
"index": "max_char", "a": "item",
"var": "100", "t": "10002",
"intr": "聊天最大输入字符数量" "n": 1
}, },
{ "camp2_pool_cost": {
"index": "task_reset", "a": "item",
"var": "8", "t": "10003",
"intr": "日/周常任务刷新时间8点" "n": 1
}, },
{ "camp3_pool_cost": {
"index": "init_gold", "a": "item",
"var": "100000", "t": "10004",
"intr": "初始金币" "n": 1
}, },
{ "camp4_pool_cost": {
"index": "init_hero", "a": "item",
"var": "15001,25001", "t": "10005",
"intr": "初始英雄" "n": 1
}, },
{ "camp1_pool1": "camp1_pool",
"index": "cameramin", "camp2_pool1": "camp2_pool",
"var": "0,0,0", "camp3_pool1": "camp3_pool",
"intr": "镜头坐标最小值" "camp4_pool1": "camp4_pool",
"base_pool1": {
"s": 1,
"e": 60,
"p": "base_pool1"
}, },
{ "base_pool2": {
"index": "cameramax", "s": 61,
"var": "-1.53,1.1,-8", "e": 200,
"intr": "镜头坐标最大值" "p": "base_pool2"
}, },
{ "base_pool3": {
"index": "heroshownum", "s": 201,
"var": "2", "e": 1000,
"intr": "播放开场动作角色数量" "p": "base_pool3"
}, },
{ "base_pool4": {
"index": "equipsuitsum", "s": 1000,
"var": "4,4,4,4,2,2", "e": 99999999,
"intr": "装备位置对应数量" "p": "base_pool4"
}, },
{ "base_pool_star3": 9000,
"index": "friend_maxnum", "base_pool_star4": 900,
"var": "50", "base_pool_star5": 100,
"intr": "最大好友数量" "camp_pool_star3": 9000,
}, "camp_pool_star4": 900,
{ "camp_pool_star5": 100,
"index": "friend_minnum", "gourmet": 500
"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星权重"
} }
] ]

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -1,262 +1,114 @@
[ [
{ {
"index": "max_getreward", "max_char": 100,
"var": "10002,99", "task_reset": 8,
"intr": "领取/赠送奖励" "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
}, },
{ "camp1_pool_cost": {
"index": "max_char", "a": "item",
"var": "100", "t": "10002",
"intr": "聊天最大输入字符数量" "n": 1
}, },
{ "camp2_pool_cost": {
"index": "task_reset", "a": "item",
"var": "8", "t": "10003",
"intr": "日/周常任务刷新时间8点" "n": 1
}, },
{ "camp3_pool_cost": {
"index": "init_gold", "a": "item",
"var": "100000", "t": "10004",
"intr": "初始金币" "n": 1
}, },
{ "camp4_pool_cost": {
"index": "init_hero", "a": "item",
"var": "15001,25001", "t": "10005",
"intr": "初始英雄" "n": 1
}, },
{ "camp1_pool1": "camp1_pool",
"index": "cameramin", "camp2_pool1": "camp2_pool",
"var": "0,0,0", "camp3_pool1": "camp3_pool",
"intr": "镜头坐标最小值" "camp4_pool1": "camp4_pool",
"base_pool1": {
"s": 1,
"e": 60,
"p": "base_pool1"
}, },
{ "base_pool2": {
"index": "cameramax", "s": 61,
"var": "-1.53,1.1,-8", "e": 200,
"intr": "镜头坐标最大值" "p": "base_pool2"
}, },
{ "base_pool3": {
"index": "heroshownum", "s": 201,
"var": "2", "e": 1000,
"intr": "播放开场动作角色数量" "p": "base_pool3"
}, },
{ "base_pool4": {
"index": "equipsuitsum", "s": 1000,
"var": "4,4,4,4,2,2", "e": 99999999,
"intr": "装备位置对应数量" "p": "base_pool4"
}, },
{ "base_pool_star3": 9000,
"index": "friend_maxnum", "base_pool_star4": 900,
"var": "50", "base_pool_star5": 100,
"intr": "最大好友数量" "camp_pool_star3": 9000,
}, "camp_pool_star4": 900,
{ "camp_pool_star5": 100,
"index": "friend_minnum", "gourmet": 500
"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星权重"
} }
] ]

View File

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

View File

@ -171,12 +171,12 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 10000 "n": 3000
}, },
{ {
"a": "item", "a": "item",
"t": "10011", "t": "50004",
"n": 10 "n": 15
} }
] ]
}, },
@ -194,11 +194,11 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 20000 "n": 5000
}, },
{ {
"a": "item", "a": "item",
"t": "10011", "t": "50004",
"n": 20 "n": 20
} }
] ]
@ -217,17 +217,17 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 30000 "n": 7000
}, },
{ {
"a": "item", "a": "item",
"t": "10012", "t": "50004",
"n": 10 "n": 25
}, },
{ {
"a": "item", "a": "item",
"t": "10011", "t": "50008",
"n": 10 "n": 15
} }
] ]
}, },
@ -245,16 +245,16 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 40000 "n": 9000
}, },
{ {
"a": "item", "a": "item",
"t": "10012", "t": "50012",
"n": 20 "n": 10
}, },
{ {
"a": "item", "a": "item",
"t": "10011", "t": "50008",
"n": 20 "n": 20
} }
] ]
@ -273,17 +273,17 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 50000 "n": 11000
}, },
{ {
"a": "item", "a": "item",
"t": "10013", "t": "50012",
"n": 10 "n": 15
}, },
{ {
"a": "item", "a": "item",
"t": "10012", "t": "50008",
"n": 10 "n": 30
} }
] ]
}, },
@ -301,17 +301,17 @@
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 60000 "n": 13000
}, },
{ {
"a": "item", "a": "item",
"t": "10013", "t": "50012",
"n": 20 "n": 30
}, },
{ {
"a": "item", "a": "item",
"t": "10012", "t": "50008",
"n": 20 "n": 40
} }
] ]
}, },
@ -630,5 +630,163 @@
"n": 20 "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 "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", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10002", "id": "10002",
@ -69,7 +70,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10003", "id": "10003",
@ -105,7 +107,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10004", "id": "10004",
@ -141,7 +144,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10005", "id": "10005",
@ -177,7 +181,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10006", "id": "10006",
@ -213,7 +218,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10007", "id": "10007",
@ -249,7 +255,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10008", "id": "10008",
@ -285,7 +292,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10009", "id": "10009",
@ -321,7 +329,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10010", "id": "10010",
@ -357,7 +366,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10011", "id": "10011",
@ -393,7 +403,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10012", "id": "10012",
@ -429,7 +440,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10013", "id": "10013",
@ -465,7 +477,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10014", "id": "10014",
@ -501,7 +514,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10015", "id": "10015",
@ -537,7 +551,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "10016", "id": "10016",
@ -573,7 +588,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "20001", "id": "20001",
@ -609,7 +625,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "20002", "id": "20002",
@ -645,7 +662,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "50001", "id": "50001",
@ -681,6 +699,13 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -717,6 +742,13 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -753,6 +785,13 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -789,6 +828,13 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -806,7 +852,7 @@
"effects": "", "effects": "",
"box_id": 50009, "box_id": 50009,
"synthetize_num": 5, "synthetize_num": 5,
"access": 0, "access": 50001,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -825,6 +871,13 @@
"t": "50001", "t": "50001",
"n": 3 "n": 3
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -842,7 +895,7 @@
"effects": "", "effects": "",
"box_id": 50010, "box_id": 50010,
"synthetize_num": 5, "synthetize_num": 5,
"access": 0, "access": 50002,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -861,6 +914,13 @@
"t": "50002", "t": "50002",
"n": 3 "n": 3
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -878,7 +938,7 @@
"effects": "", "effects": "",
"box_id": 50011, "box_id": 50011,
"synthetize_num": 5, "synthetize_num": 5,
"access": 0, "access": 50003,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -897,6 +957,13 @@
"t": "50003", "t": "50003",
"n": 3 "n": 3
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -914,7 +981,7 @@
"effects": "", "effects": "",
"box_id": 50012, "box_id": 50012,
"synthetize_num": 5, "synthetize_num": 5,
"access": 0, "access": 50004,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -933,6 +1000,13 @@
"t": "50004", "t": "50004",
"n": 3 "n": 3
} }
],
"synthetize_deplete": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
] ]
}, },
{ {
@ -950,7 +1024,7 @@
"effects": "", "effects": "",
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": 0, "access": 50005,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -969,7 +1043,8 @@
"t": "50005", "t": "50005",
"n": 3 "n": 3
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "50010", "id": "50010",
@ -986,7 +1061,7 @@
"effects": "", "effects": "",
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": 0, "access": 50006,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -1005,7 +1080,8 @@
"t": "50006", "t": "50006",
"n": 3 "n": 3
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "50011", "id": "50011",
@ -1022,7 +1098,7 @@
"effects": "", "effects": "",
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": 0, "access": 50007,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -1041,7 +1117,8 @@
"t": "50007", "t": "50007",
"n": 3 "n": 3
} }
] ],
"synthetize_deplete": []
}, },
{ {
"id": "50012", "id": "50012",
@ -1058,7 +1135,7 @@
"effects": "", "effects": "",
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": 0, "access": 50008,
"use_skip": 0, "use_skip": 0,
"upper_limit": 999, "upper_limit": 999,
"uselv": 0, "uselv": 0,
@ -1077,6 +1154,7 @@
"t": "50008", "t": "50008",
"n": 3 "n": 3
} }
] ],
"synthetize_deplete": []
} }
] ]

View File

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

View File

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

View File

@ -6759,7 +6759,7 @@
"key": "skillname_125004111", "key": "skillname_125004111",
"text": "波比1技能" "text": "波比1技能"
}, },
"ico": "jn_icon_001", "ico": "skillicon_004",
"act": "Skill_1", "act": "Skill_1",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -6826,7 +6826,7 @@
"key": "skillname_125004211", "key": "skillname_125004211",
"text": "波比2技能" "text": "波比2技能"
}, },
"ico": "jn_icon_002", "ico": "skillicon_005",
"act": "Skill_2", "act": "Skill_2",
"Type": 2, "Type": 2,
"MaxLV": 3, "MaxLV": 3,
@ -6875,7 +6875,7 @@
"key": "skillname_125004311", "key": "skillname_125004311",
"text": "波比3技能" "text": "波比3技能"
}, },
"ico": "jn_icon_003", "ico": "skillicon_006",
"act": "Skill_3", "act": "Skill_3",
"Type": 1, "Type": 1,
"MaxLV": 5, "MaxLV": 5,
@ -6961,7 +6961,7 @@
"key": "skillname_135002111", "key": "skillname_135002111",
"text": "希卡普1技能" "text": "希卡普1技能"
}, },
"ico": "jn_icon_001", "ico": "skillicon_007",
"act": "Skill_1", "act": "Skill_1",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -7031,7 +7031,7 @@
"key": "skillname_135002211", "key": "skillname_135002211",
"text": "希卡普2技能" "text": "希卡普2技能"
}, },
"ico": "jn_icon_002", "ico": "skillicon_008",
"act": "Skill_2", "act": "Skill_2",
"Type": 2, "Type": 2,
"MaxLV": 1, "MaxLV": 1,
@ -7061,7 +7061,7 @@
"key": "skillname_135002311", "key": "skillname_135002311",
"text": "希卡普3技能" "text": "希卡普3技能"
}, },
"ico": "jn_icon_003", "ico": "skillicon_009",
"act": "Skill_3", "act": "Skill_3",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -7191,5 +7191,241 @@
"skill_9350023216" "skill_9350023216"
], ],
"buffid": [] "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, "Id": 290057001,
"Desc": "己方全体增益BUFF持续回合\u002B1", "Desc": "己方全体增益BUFF持续回合+1",
"From": 1, "From": 1,
"Limit": 5, "Limit": 5,
"EmitPR": 1000, "EmitPR": 1000,
@ -1301,7 +1301,7 @@
}, },
{ {
"Id": 290058001, "Id": 290058001,
"Desc": "敌方全体减益BUFF持续回合\u002B1", "Desc": "敌方全体减益BUFF持续回合+1",
"From": 2, "From": 2,
"Limit": 5, "Limit": 5,
"EmitPR": 1000, "EmitPR": 1000,
@ -1343,7 +1343,7 @@
}, },
{ {
"Id": 290060001, "Id": 290060001,
"Desc": "敌方全体所有技能CD\u002B1", "Desc": "敌方全体所有技能CD+1",
"From": 2, "From": 2,
"Limit": 5, "Limit": 5,
"EmitPR": 1000, "EmitPR": 1000,
@ -3655,7 +3655,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -3914,7 +3914,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "RemoveDebuff", "Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000", "Argu": "DoVal=1,Pr=1000,BuffType=1,Id=202,val=-1",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -3952,7 +3952,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -3971,7 +3971,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -3990,7 +3990,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "Type": "AddBuff",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,Type=ProBuff,BufPro1=DamRe,BufVal1=250,BufQuaType1=1", "Argu": "DoVal=1,Pr=1000,NumVal=1,Id=300102103,Round=2,BufPro1=DamRe,BufVal1=250,BufQuaType1=1",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4009,7 +4009,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddPas", "Type": "AddPas",
"Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,Type=CallSkillPas,PasPr=1000,PasCallType=0,PasId1=425004301", "Argu": "DoVal=1,Pr=1000,NumVal=1,Id=425004301,Round=2,PasPr=1000,PasCallType=0,PasId1=290012304",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4028,7 +4028,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Tre", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4047,7 +4047,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "RemoveDebuff", "Type": "RemoveDebuff",
"Argu": "DoVal=1,Pr=1000", "Argu": "DoVal=1,Pr=1000,BuffType=1,Id=202,val=1",
"AddEffect": false, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4066,7 +4066,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4085,7 +4085,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4106,7 +4106,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4167,7 +4167,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4207,7 +4207,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4247,7 +4247,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4287,7 +4287,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4327,7 +4327,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "Dmg", "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, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002113 235002113
@ -4367,7 +4367,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4386,7 +4386,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddPas", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4443,7 +4443,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4465,8 +4465,7 @@
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350", "Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002312, 235002312
235002313
], ],
"SucFollowSK": [], "SucFollowSK": [],
"FailFollowSK": [], "FailFollowSK": [],
@ -4491,7 +4490,7 @@
"235002313" "235002313"
], ],
"FailFollowSK": [], "FailFollowSK": [],
"MustHit": true, "MustHit": false,
"Tags": [], "Tags": [],
"RelyTags": [], "RelyTags": [],
"NoRelyTags": [] "NoRelyTags": []
@ -4505,7 +4504,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4695,8 +4694,8 @@
"Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350", "Argu": "DoVal=3,Pr=1000,Suck=0,ProSou1=1,Pro1=Total_Atk,ProPar1=350",
"AddEffect": false, "AddEffect": false,
"FollowSK": [ "FollowSK": [
235002312, 935002312,
235002313 935002314
], ],
"SucFollowSK": [], "SucFollowSK": [],
"FailFollowSK": [], "FailFollowSK": [],
@ -4735,7 +4734,7 @@
"Where": [], "Where": [],
"Order": [], "Order": [],
"Type": "AddBuff", "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, "AddEffect": false,
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -4935,5 +4934,547 @@
"Tags": [], "Tags": [],
"RelyTags": [], "RelyTags": [],
"NoRelyTags": [] "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", "key": "skillname_125004111",
"text": "波比1技能" "text": "波比1技能"
}, },
"ico": "jn_icon_001", "ico": "skillicon_004",
"act": "Skill_1", "act": "Skill_1",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -6826,7 +6826,7 @@
"key": "skillname_125004211", "key": "skillname_125004211",
"text": "波比2技能" "text": "波比2技能"
}, },
"ico": "jn_icon_002", "ico": "skillicon_005",
"act": "Skill_2", "act": "Skill_2",
"Type": 2, "Type": 2,
"MaxLV": 3, "MaxLV": 3,
@ -6875,7 +6875,7 @@
"key": "skillname_125004311", "key": "skillname_125004311",
"text": "波比3技能" "text": "波比3技能"
}, },
"ico": "jn_icon_003", "ico": "skillicon_006",
"act": "Skill_3", "act": "Skill_3",
"Type": 1, "Type": 1,
"MaxLV": 5, "MaxLV": 5,
@ -6961,7 +6961,7 @@
"key": "skillname_135002111", "key": "skillname_135002111",
"text": "希卡普1技能" "text": "希卡普1技能"
}, },
"ico": "jn_icon_001", "ico": "skillicon_007",
"act": "Skill_1", "act": "Skill_1",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -7031,7 +7031,7 @@
"key": "skillname_135002211", "key": "skillname_135002211",
"text": "希卡普2技能" "text": "希卡普2技能"
}, },
"ico": "jn_icon_002", "ico": "skillicon_008",
"act": "Skill_2", "act": "Skill_2",
"Type": 2, "Type": 2,
"MaxLV": 1, "MaxLV": 1,
@ -7061,7 +7061,7 @@
"key": "skillname_135002311", "key": "skillname_135002311",
"text": "希卡普3技能" "text": "希卡普3技能"
}, },
"ico": "jn_icon_003", "ico": "skillicon_009",
"act": "Skill_3", "act": "Skill_3",
"Type": 1, "Type": 1,
"MaxLV": 6, "MaxLV": 6,
@ -7191,5 +7191,241 @@
"skill_9350023216" "skill_9350023216"
], ],
"buffid": [] "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": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -38,7 +52,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 1, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -65,7 +93,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -87,7 +129,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 1, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -109,7 +165,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 1, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -131,7 +201,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 1, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -153,7 +237,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 1, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -175,7 +273,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -197,7 +309,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -219,7 +345,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "skip": 1
@ -241,7 +381,21 @@
"action": "", "action": "",
"sound": "", "sound": "",
"place": 0, "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": "", "perf": "",
"cg": "", "cg": "",
"skip": 1 "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) { 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.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Chat) this.module = module.(*Chat)
this.LoadConfigure(game_chatchannel, cfg.NewGame_chatChannel) this.LoadConfigure(game_chatchannel, cfg.NewGamechatChannel)
this.LoadConfigure(game_chatsystem, cfg.NewGame_chatSystem) this.LoadConfigure(game_chatsystem, cfg.NewGamechatSystem)
this.LoadConfigure(game_chatchannelcom, cfg.NewGame_chatChannelCom) this.LoadConfigure(game_chatchannelcom, cfg.NewGamechatChannelCom)
return return
} }
@ -36,21 +36,21 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
func (this *configureComp) GetAutoIntoChannelMax() (max int32, err error) { func (this *configureComp) GetAutoIntoChannelMax() (max int32, err error) {
var ( var (
v interface{} v interface{}
configure *cfg.Game_chatChannelComData configure *cfg.GamechatChannelComData
ok bool ok bool
) )
if v, err = this.GetConfigure(game_chatchannelcom); err != nil { if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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") err = fmt.Errorf("cfg.Game_chatServerGroupData on found channel_allocation_max")
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} }
max = configure.Value max = configure.Value
if max <= 0 { 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 return
@ -60,21 +60,21 @@ func (this *configureComp) GetAutoIntoChannelMax() (max int32, err error) {
func (this *configureComp) GetChanageChannelMax() (max int32, err error) { func (this *configureComp) GetChanageChannelMax() (max int32, err error) {
var ( var (
v interface{} v interface{}
configure *cfg.Game_chatChannelComData configure *cfg.GamechatChannelComData
ok bool ok bool
) )
if v, err = this.GetConfigure(game_chatchannelcom); err != nil { if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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") err = fmt.Errorf("cfg.Game_chatServerGroupData on found channel_switching_max")
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} }
max = configure.Value max = configure.Value
if max <= 0 { 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 return
@ -84,21 +84,21 @@ func (this *configureComp) GetChanageChannelMax() (max int32, err error) {
func (this *configureComp) GetChannelRecordMax() (max int32, err error) { func (this *configureComp) GetChannelRecordMax() (max int32, err error) {
var ( var (
v interface{} v interface{}
configure *cfg.Game_chatChannelComData configure *cfg.GamechatChannelComData
ok bool ok bool
) )
if v, err = this.GetConfigure(game_chatchannelcom); err != nil { if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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") err = fmt.Errorf("cfg.Game_chatServerGroupData on found max_chat")
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} }
max = configure.Value max = configure.Value
if max <= 0 { if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData max_chat:%v", v) err = fmt.Errorf("cfg.GamechatChannelComData max_chat:%v", v)
} }
} }
return return
@ -108,21 +108,21 @@ func (this *configureComp) GetChannelRecordMax() (max int32, err error) {
func (this *configureComp) GetChannelReadRecordNum() (max int32, err error) { func (this *configureComp) GetChannelReadRecordNum() (max int32, err error) {
var ( var (
v interface{} v interface{}
configure *cfg.Game_chatChannelComData configure *cfg.GamechatChannelComData
ok bool ok bool
) )
if v, err = this.GetConfigure(game_chatchannelcom); err != nil { if v, err = this.GetConfigure(game_chatchannelcom); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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") err = fmt.Errorf("cfg.Game_chatServerGroupData on found max_chat")
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} }
max = configure.Value max = configure.Value
if max <= 0 { if max <= 0 {
err = fmt.Errorf("cfg.Game_chatChannelComData max_chat:%v", v) err = fmt.Errorf("cfg.GamechatChannelComData max_chat:%v", v)
} }
} }
return 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) { 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.ModuleCompBase.Init(service, module, comp, options)
err = this.LoadConfigure(game_global, cfg.NewGame_global) err = this.LoadConfigure(game_global, cfg.NewGameglobal)
err = this.LoadConfigure(game_initial, cfg.NewGame_initial) err = this.LoadConfigure(game_initial, cfg.NewGameinitial)
err = this.LoadConfigure(game_playerlv, cfg.NewGame_playerlv) err = this.LoadConfigure(game_playerlv, cfg.NewGameplayerlv)
err = this.LoadConfigure(game_facemod, cfg.NewGame_facemod) err = this.LoadConfigure(game_facemod, cfg.NewGamefacemod)
return 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 { if v, err := this.GetConfigure(game_global); err != nil {
log.Errorf("get global conf err:%v", err) log.Errorf("get global conf err:%v", err)
return "" return nil
} else { } else {
var ( var (
configure *cfg.Game_global configure *cfg.Gameglobal
ok bool 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) log.Errorf("%T no is *cfg.Game_global", v)
return "" return nil
}
return configure.GetDataList()[0]
}
} }
if v, ok := configure.GetDataMap()[key]; ok { func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Gameinitial, err error) {
return v.Var
}
}
return ""
}
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Game_initial, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
@ -83,7 +79,7 @@ func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.Game_initial, er
if v, err = this.GetConfigure(game_initial); err != nil { if v, err = this.GetConfigure(game_initial); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_comInitial", v)
return 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 { if v, err := this.GetConfigure(game_playerlv); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return return
} else { } 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 { if v, err := this.GetConfigure(game_playerlv); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return return
} else { } 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 { if v, err := this.GetConfigure(game_facemod); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
return return
} else { } else {

View File

@ -22,6 +22,6 @@ type (
//向多个用户发送消息 //向多个用户发送消息
SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.CacheUser) (err error) 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) { func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
err error err error
confs []*cfg.Game_equipData confs []*cfg.GameequipData
equipment *pb.DB_Equipment equipment *pb.DB_Equipment
equipments []*pb.DB_Equipment equipments []*pb.DB_Equipment
updatequipment []*pb.DB_Equipment updatequipment []*pb.DB_Equipment
@ -33,7 +33,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq)
return return
} }
//校验数据 //校验数据
confs = make([]*cfg.Game_equipData, len(req.EquipmentId)) confs = make([]*cfg.GameequipData, len(req.EquipmentId))
equipments = make([]*pb.DB_Equipment, 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) { func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.EquipmentUpgradeReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
err error err error
conf *cfg.Game_equipData conf *cfg.GameequipData
intensify *cfg.Game_equipIntensifyData intensify *cfg.GameequipIntensifyData
equipment *pb.DB_Equipment equipment *pb.DB_Equipment
modifyequipments []*pb.DB_Equipment modifyequipments []*pb.DB_Equipment
hero *pb.DBHero 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) { 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.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Equipment) this.module = module.(*Equipment)
this.LoadConfigure(game_equip, cfg.NewGame_equip) this.LoadConfigure(game_equip, cfg.NewGameequip)
this.LoadConfigure(equip_attrlibrary, cfg.NewGame_equipAttrlibrary) this.LoadConfigure(equip_attrlibrary, cfg.NewGameequipAttrlibrary)
this.LoadConfigure(equip_intensify, cfg.NewGame_equipIntensify) this.LoadConfigure(equip_intensify, cfg.NewGameequipIntensify)
this.LoadConfigure(equip_suit, cfg.NewGame_equipSuit) this.LoadConfigure(equip_suit, cfg.NewGameequipSuit)
return return
} }
//获取装备配置数据 //获取装备配置数据
func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Game_equip, err error) { func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Gameequip, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
@ -42,7 +42,7 @@ func (this *configureComp) GetEquipmentConfigure() (configure *cfg.Game_equip, e
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -61,7 +61,7 @@ func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (config
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("EquipmentConfigure not found:%s ", equipmentId)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -80,7 +80,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Ga
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -99,7 +99,7 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (con
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
) )
@ -117,8 +117,8 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigureById(Id int32) (confi
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
configure = make([]*cfg.Game_equipAttrlibraryData, 0) configure = make([]*cfg.GameequipAttrlibraryData, 0)
for _, v1 := range v.(*cfg.Game_equipAttrlibrary).GetDataList() { for _, v1 := range v.(*cfg.GameequipAttrlibrary).GetDataList() {
if v1.Libraryid == Id { if v1.Libraryid == Id {
configure = append(configure, v1) 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -137,7 +137,7 @@ func (this *configureComp) GetEquipmentIntensifyConfigure() (configure *cfg.Game
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
) )
@ -155,7 +155,7 @@ func (this *configureComp) GetEquipmentIntensifyConfigureById(star, lv int32) (c
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
for _, v1 := range v.(*cfg.Game_equipIntensify).GetDataList() { for _, v1 := range v.(*cfg.GameequipIntensify).GetDataList() {
if v1.Star == star && v1.Level == lv { if v1.Star == star && v1.Level == lv {
configure = v1 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) { func (this *modelEquipmentComp) AddEquipments(uId string, cIds map[string]uint32) (change []*pb.DB_Equipment, err error) {
var ( var (
configure *cfg.Game_equip configure *cfg.Gameequip
equipments []*pb.DB_Equipment equipments []*pb.DB_Equipment
iskeep bool iskeep bool
add map[string]*pb.DB_Equipment 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 ( var (
mattr []*cfg.Game_equipAttrlibraryData mattr []*cfg.GameequipAttrlibraryData
sattr []*cfg.Game_equipAttrlibraryData sattr []*cfg.GameequipAttrlibraryData
total int total int
satterNum int32 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.Lv++
equipment.MainEntry.Lv++ equipment.MainEntry.Lv++
equipment.MainEntry.Value += int32(float64(equipment.MainEntry.Value) * float64(intensify.Bonus) / 1000.0) 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 return
} }
if len(equipment.AdverbEntry) < 4 { //去随机副词条 if len(equipment.AdverbEntry) < 4 { //去随机副词条
var temp []*cfg.Game_equipAttrlibraryData var temp []*cfg.GameequipAttrlibraryData
var sattr []*cfg.Game_equipAttrlibraryData var sattr []*cfg.GameequipAttrlibraryData
if temp, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil || len(temp) == 0 { if temp, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil || len(temp) == 0 {
log.Errorf("升级服务错误 读取副词条配置错误!") log.Errorf("升级服务错误 读取副词条配置错误!")
return return
@ -229,7 +229,7 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ
Value: sattr[index].Attrvar, Value: sattr[index].Attrvar,
}) })
} else { //随机一个副词条 强化 } else { //随机一个副词条 强化
var attrlibrary *cfg.Game_equipAttrlibraryData var attrlibrary *cfg.GameequipAttrlibraryData
r := rand.New(rand.NewSource(time.Now().Unix())) r := rand.New(rand.NewSource(time.Now().Unix()))
index := r.Perm(len(equipment.AdverbEntry))[0] index := r.Perm(len(equipment.AdverbEntry))[0]

View File

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

View File

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

View File

@ -19,7 +19,7 @@ type configureComp struct {
// Init 组件初始化接口 // Init 组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options) this.ModuleCompBase.Init(service, module, comp, options)
this.LoadConfigure(game_msgdistrib, cfg.NewGame_msgdistrib) this.LoadConfigure(game_msgdistrib, cfg.NewGamemsgdistrib)
return return
} }
@ -28,13 +28,13 @@ func (this *configureComp) GetMsgDistribute(msgid string) (rule string, ok bool)
var ( var (
err error err error
v interface{} v interface{}
item *cfg.Game_msgdistribData item *cfg.GamemsgdistribData
) )
if v, err = this.GetConfigure(game_msgdistrib); err != nil { if v, err = this.GetConfigure(game_msgdistrib); err != nil {
ok = false ok = false
return return
} else { } else {
if item, ok = v.(*cfg.Game_msgdistrib).GetDataMap()[msgid]; ok { if item, ok = v.(*cfg.Gamemsgdistrib).GetDataMap()[msgid]; ok {
rule = item.Routrules 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 code = pb.ErrorCode_ReqParameterError
return return
} }
code = this.module.DispenseRes(session, []*cfg.Game_atn{ // 添加资源 code = this.module.DispenseRes(session, []*cfg.Gameatn{ // 添加资源
{ {
A: datas[0], A: datas[0],
T: datas[1], 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) { func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
awakenData *cfg.Game_heroAwakenData awakenData *cfg.GameheroAwakenData
_hero *pb.DBHero _hero *pb.DBHero
chanegCard []*pb.DBHero // change chanegCard []*pb.DBHero // change
) )

View File

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

View File

@ -3,6 +3,7 @@ package hero
import ( import (
"fmt" "fmt"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
@ -28,6 +29,8 @@ const (
///配置管理组件 ///配置管理组件
type configureComp struct { type configureComp struct {
modules.MCompConfigure 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.MCompConfigure.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
new_hero: cfg.NewGame_hero, new_hero: cfg.NewGamehero,
hero_stargrow: cfg.NewGame_heroStargrow, hero_stargrow: cfg.NewGameheroStargrow,
hero_levelgrow: cfg.NewGame_heroLevelgrow, hero_levelgrow: cfg.NewGameheroLevelgrow,
hero_starup: cfg.NewGame_heroStarup, hero_starup: cfg.NewGameheroStarup,
hero_levelup: cfg.NewGame_heroLevelup, hero_levelup: cfg.NewGameheroLevelup,
hero_exp: cfg.NewGame_heroExp, hero_exp: cfg.NewGameheroExp,
hero_skillup: cfg.NewGame_heroSkillLevel, hero_skillup: cfg.NewGameheroSkillLevel,
game_skillatk: cfg.NewGame_skillAtk, game_skillatk: cfg.NewGameskillAtk,
hero_resonance: cfg.NewGame_heroResonance, hero_resonance: cfg.NewGameheroResonance,
hero_comatn: cfg.NewGame_comAtn, hero_comatn: cfg.NewGamecomAtn,
hero_awaken: cfg.NewGame_heroAwaken, hero_awaken: cfg.NewGameheroAwaken,
hero_drawcard: cfg.NewGame_drawCard, hero_drawcard: cfg.NewGamedrawCard,
hero_drawupdraw: cfg.NewGame_drawUpdraw, 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 return
} }
//获取英雄配置数据 //获取英雄配置数据
func (this *configureComp) getHeroConfigure() (configure *cfg.Game_hero, err error) { func (this *configureComp) getHeroConfigure() (configure *cfg.Gamehero, err error) {
var ( var (
v interface{} v interface{}
ok bool 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 { if v, err = this.GetConfigure(new_hero); err != nil {
return return
} else { } else {
if configure, ok = v.(*cfg.Game_hero); !ok { if configure, ok = v.(*cfg.Gamehero); !ok {
err = fmt.Errorf("%T no is *cfg.Game_hero", v) err = fmt.Errorf("%T no is *cfg.Gamehero", v)
} }
} }
return return
} }
// 获取英雄强化增加属性配置数据 // 获取英雄强化增加属性配置数据
func (this *configureComp) GetHeroStargrowConfig() (configure *cfg.Game_heroStargrow, err error) { func (this *configureComp) GetHeroStargrowConfig() (configure *cfg.GameheroStargrow, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_stargrow); err == nil { if v, err = this.GetConfigure(hero_stargrow); err == nil {
if configure, ok = v.(*cfg.Game_heroStargrow); !ok { if configure, ok = v.(*cfg.GameheroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_hero", v) err = fmt.Errorf("%T no is *cfg.Gamehero", v)
return return
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_hero", v) err = fmt.Errorf("%T no is *cfg.Gamehero", v)
} }
return return
} }
// 获取英雄升级属性变化相关配置数据 // 获取英雄升级属性变化相关配置数据
func (this *configureComp) GetHeroLevelgrowConfig() (configure *cfg.Game_heroLevelgrow, err error) { func (this *configureComp) GetHeroLevelgrowConfig() (configure *cfg.GameheroLevelgrow, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_levelgrow); err == nil { if v, err = this.GetConfigure(hero_levelgrow); err == nil {
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok { if configure, ok = v.(*cfg.GameheroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v) err = fmt.Errorf("%T no is *cfg.GameheroLevelgrow", v)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_starup); err == nil { if v, err = this.GetConfigure(hero_starup); err == nil {
if configure, ok = v.(*cfg.Game_heroStarup); !ok { if configure, ok = v.(*cfg.GameheroStarup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v) err = fmt.Errorf("%T no is *cfg.GameheroStarup", v)
return return
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v) err = fmt.Errorf("%T no is *cfg.GameheroStarup", v)
} }
return return
} }
// 获取英雄升级相关配置数据 // 获取英雄升级相关配置数据
func (this *configureComp) GetHeroLevelUpConfig() (configure *cfg.Game_heroLevelup, err error) { func (this *configureComp) GetHeroLevelUpConfig() (configure *cfg.GameheroLevelup, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_levelup); err == nil { if v, err = this.GetConfigure(hero_levelup); err == nil {
if configure, ok = v.(*cfg.Game_heroLevelup); !ok { if configure, ok = v.(*cfg.GameheroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v) err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
return return
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v) err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
} }
return return
} }
func (this *configureComp) GetHeroExpConfig() (configure *cfg.Game_heroExp, err error) { func (this *configureComp) GetHeroExpConfig() (configure *cfg.GameheroExp, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_exp); err == nil { if v, err = this.GetConfigure(hero_exp); err == nil {
if configure, ok = v.(*cfg.Game_heroExp); !ok { if configure, ok = v.(*cfg.GameheroExp); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
return return
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
} }
return 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 v, err := this.GetConfigure(hero_exp); err == nil {
if configure, ok := v.(*cfg.Game_heroExp); !ok { if configure, ok := v.(*cfg.GameheroExp); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
return nil return nil
} else { } else {
return configure.Get(hid) return configure.Get(hid)
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) err = fmt.Errorf("%T no is *cfg.GameheroExp", v)
} }
return nil return nil
} }
//英雄等级基础属性 //英雄等级基础属性
func (this *configureComp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, err error) { func (this *configureComp) GetHeroLevelup() (configure *cfg.GameheroLevelup, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
@ -178,8 +212,8 @@ func (this *configureComp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, er
if v, err = this.GetConfigure(hero_levelup); err != nil { if v, err = this.GetConfigure(hero_levelup); err != nil {
return return
} else { } else {
if configure, ok = v.(*cfg.Game_heroLevelup); !ok { if configure, ok = v.(*cfg.GameheroLevelup); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v) err = fmt.Errorf("%T no is *cfg.GameheroLevelup", v)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -195,8 +229,8 @@ func (this *configureComp) GetHeroStargrow() (configure *cfg.Game_heroStargrow,
if v, err = this.GetConfigure(hero_stargrow); err != nil { if v, err = this.GetConfigure(hero_stargrow); err != nil {
return return
} else { } else {
if configure, ok = v.(*cfg.Game_heroStargrow); !ok { if configure, ok = v.(*cfg.GameheroStargrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroStargrow", v) err = fmt.Errorf("%T no is *cfg.GameheroStargrow", v)
return 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() cfg, err := this.getHeroConfigure()
if err != nil { if err != nil {
return 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() cfg, err := this.GetHeroStargrow()
if err != nil { if err != nil {
return 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() cfg, err := this.GetHeroLevelup()
if err != nil { if err != nil {
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -249,8 +283,8 @@ func (this *configureComp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow
if v, err = this.GetConfigure(hero_levelgrow); err != nil { if v, err = this.GetConfigure(hero_levelgrow); err != nil {
return return
} else { } else {
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok { if configure, ok = v.(*cfg.GameheroLevelgrow); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v) err = fmt.Errorf("%T no is *cfg.GameheroLevelgrow", v)
return 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() cfg, err := this.GetHeroLevelgrow()
if err != nil { if err != nil {
return 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 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) data = conf.Get(skillid)
return return
} }
@ -286,7 +320,7 @@ func (this *configureComp) GetHeroSkillUpConfig(skillid int32) (data *cfg.Game_h
func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 { func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 {
if v, err := this.GetConfigure(game_skillatk); err == nil { 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 return configure.Get(int32(skillId)).MaxLV
} }
} }
@ -295,31 +329,31 @@ func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 {
} }
// 通过英雄配置ID获取共鸣配置信息 // 通过英雄配置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 ( var (
v interface{} v interface{}
) )
if v, err = this.GetConfigure(hero_resonance); err == nil { if v, err = this.GetConfigure(hero_resonance); err == nil {
if configure, ok := v.(*cfg.Game_heroResonance); !ok { if configure, ok := v.(*cfg.GameheroResonance); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroResonance", v) err = fmt.Errorf("%T no is *cfg.GameheroResonance", v)
return return
} else { } else {
data = configure.Get(cardConfigID) data = configure.Get(cardConfigID)
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroResonance", v) err = fmt.Errorf("%T no is *cfg.GameheroResonance", v)
} }
return return
} }
func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.Game_comAtnData, err error) { func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.GamecomAtnData, err error) {
var ( var (
v interface{} v interface{}
) )
if v, err = this.GetConfigure(hero_comatn); err == nil { if v, err = this.GetConfigure(hero_comatn); err == nil {
if configure, ok := v.(*cfg.Game_comAtn); !ok { if configure, ok := v.(*cfg.GamecomAtn); !ok {
err = fmt.Errorf("%T no is *cfg.Game_comAtn", v) err = fmt.Errorf("%T no is *cfg.GamecomAtn", v)
return return
} else { } else {
data = configure.Get("hero_reset") data = configure.Get("hero_reset")
@ -330,41 +364,18 @@ func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.Game_comAtnDa
return return
} }
func (this *configureComp) GetHeroAwakenConfig() (configure *cfg.Game_heroAwaken, err error) { func (this *configureComp) GetHeroAwakenConfig() (configure *cfg.GameheroAwaken, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
) )
if v, err = this.GetConfigure(hero_awaken); err == nil { if v, err = this.GetConfigure(hero_awaken); err == nil {
if configure, ok = v.(*cfg.Game_heroAwaken); !ok { if configure, ok = v.(*cfg.GameheroAwaken); !ok {
err = fmt.Errorf("%T no is *cfg.Game_heroAwaken", v) err = fmt.Errorf("%T no is *cfg.GameheroAwaken", v)
return return
} }
} else { } else {
err = fmt.Errorf("%T no is *cfg.Game_heroAwaken", v) err = fmt.Errorf("%T no is *cfg.GameheroAwaken", 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)
} }
return return
@ -387,40 +398,3 @@ func (this *configureComp) GetDrawUpDrawConfig() (configure *cfg.Game_drawUpdraw
return 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 package hero
import ( import (
"crypto/rand"
"errors" "errors"
"fmt" "fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
@ -9,7 +8,6 @@ import (
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"math" "math"
"math/big"
mengine "github.com/dengsgo/math-engine/engine" mengine "github.com/dengsgo/math-engine/engine"
"go.mongodb.org/mongo-driver/bson/primitive" "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 var race int32
rst, _ := this.moduleHero.modelRecord.GetHeroRecord(uid) rst, _ := this.moduleHero.modelRecord.GetHeroRecord(uid)
if drawType%2 == 0 { // 转成对应阵营信息 1~5 if drawType%2 == 0 { // 转成对应阵营信息 1~5
@ -533,13 +531,13 @@ func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Coun
} else { } else {
race = int32(int(drawType+1) / 2) race = int32(int(drawType+1) / 2)
} }
drawCount = -1
if race == comm.RacePt { // 普通卡池 if race == comm.RacePt { // 普通卡池
if rst.Race0 != nil { if rst.Race0 != nil {
curStar4Count = rst.Race0.H4 curStar4Count = rst.Race0.H4
curStar5Count = rst.Race0.H5 curStar5Count = rst.Race0.H5
} }
drawCount = rst.Drawcount
} else if race == comm.RaceZr { // 灼热 } else if race == comm.RaceZr { // 灼热
if rst.Race1 != nil { if rst.Race1 != nil {
curStar4Count = rst.Race1.H4 curStar4Count = rst.Race1.H4
@ -561,27 +559,28 @@ func (this *ModelHero) GetCurStarCount(uid string, drawType int32) (curStar4Coun
curStar5Count = rst.Race4.H5 curStar5Count = rst.Race4.H5
} }
} }
return return
} }
// 保底抽卡 (参数 卡池id, 返回抽到卡配置id) // 保底抽卡 (参数 卡池id, 返回抽到卡配置id)
func (this *ModelHero) FloorDrawCard(Cardpool int32) (cardId string) { func (this *ModelHero) FloorDrawCard(Cardpool int32) (cardId string) {
_bd, err := this.moduleHero.configure.GetHeroDrawConfig(Cardpool) // _bd, err := this.moduleHero.configure.GetHeroDrawConfig(Cardpool)
if err == nil && len(_bd) != 0 { // if err == nil && len(_bd) != 0 {
var _totalW int64 // 总权重 // var _totalW int64 // 总权重
var _tmpW int64 // 临时权重 // var _tmpW int64 // 临时权重
for _, v := range _bd { // for _, v := range _bd {
_totalW += int64(v.Weight) // _totalW += int64(v.Weight)
} // }
// 随机权重 // // 随机权重
n, _ := rand.Int(rand.Reader, big.NewInt(_totalW)) // n, _ := rand.Int(rand.Reader, big.NewInt(_totalW))
for _, v := range _bd { // for _, v := range _bd {
_tmpW += int64(v.Weight) // _tmpW += int64(v.Weight)
if n.Int64() < _tmpW { // 种族保底卡池命中 // if n.Int64() < _tmpW { // 种族保底卡池命中
cardId = v.Id // cardId = v.Id
break // break
} // }
} // }
} // }
return return
} }

View File

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

View File

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

View File

@ -22,23 +22,23 @@ type ConfigureComp struct {
modules.MCompConfigure modules.MCompConfigure
module *Items module *Items
lock sync.RWMutex 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) { func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options) this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Items) this.module = module.(*Items)
this.propsgroup = make(map[int32][]*cfg.Game_propsgroupData) this.propsgroup = make(map[int32][]*cfg.GamepropsgroupData)
err = this.LoadConfigure(game_item, cfg.NewGame_item) err = this.LoadConfigure(game_item, cfg.NewGameitem)
err = configure.RegisterConfigure(game_propsgroup, cfg.NewGame_propsgroup, func() { err = configure.RegisterConfigure(game_propsgroup, cfg.NewGamepropsgroup, func() {
if v, err := this.GetConfigure(game_propsgroup); err == nil { 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() this.lock.Lock()
defer this.lock.Unlock() defer this.lock.Unlock()
for _, value := range configure.GetDataList() { for _, value := range configure.GetDataList() {
if _, ok = this.propsgroup[value.Group]; !ok { 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) 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 ( var (
v interface{} v interface{}
) )
@ -60,13 +60,13 @@ func (this *ConfigureComp) GetItemsConfigure() (items map[string]*cfg.Game_itemD
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
items = v.(*cfg.Game_item).GetDataMap() items = v.(*cfg.Gameitem).GetDataMap()
} }
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -75,7 +75,7 @@ func (this *ConfigureComp) GetItemConfigure(id string) (item *cfg.Game_itemData,
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("no found item:%s configure", id)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
@ -89,8 +89,8 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
result = make([]*pb.DB_UserItemData, 0, len(itmes)) result = make([]*pb.DB_UserItemData, 0, len(itmes))
var ( var (
v interface{} v interface{}
table *cfg.Game_item table *cfg.Gameitem
item *cfg.Game_itemData item *cfg.GameitemData
ok bool ok bool
err error err error
) )
@ -98,7 +98,7 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
table = v.(*cfg.Game_item) table = v.(*cfg.Gameitem)
for _, v := range itmes { for _, v := range itmes {
if item, ok = table.GetDataMap()[v.ItemId]; ok { if item, ok = table.GetDataMap()[v.ItemId]; ok {
if item.Bagtype == bagtype { 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 var ok bool
this.lock.RLock() this.lock.RLock()
result, ok = this.propsgroup[gid] 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 { if group == nil || len(group) == 0 {
return 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) { func (this *ModelItemsComp) AddItemToUserPackByGrid(uId string, gridid string, addnum int32) (change []*pb.DB_UserItemData, err error) {
var ( var (
conf *cfg.Game_itemData conf *cfg.GameitemData
itme *pb.DB_UserItemData itme *pb.DB_UserItemData
num int64 num int64
amount 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) { func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserItemData, itemId string, addnum int32) (add, update, del []*pb.DB_UserItemData, leftnum int64) {
var ( var (
err error err error
conf *cfg.Game_itemData conf *cfg.GameitemData
num int64 num int64
isNew bool 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) _data, err := this.module.modelMail.MailGetMailAttachment(req.ObjID)
if err == nil { if err == nil {
if len(_data) > 0 { if len(_data) > 0 {
res := make([]*cfg.Game_atn, 0) res := make([]*cfg.Gameatn, 0)
for _, v := range _data { for _, v := range _data {
d := &cfg.Game_atn{ d := &cfg.Gameatn{
A: v.A, A: v.A,
T: v.T, T: v.T,
N: v.N, N: v.N,
@ -81,9 +81,9 @@ func (this *apiComp) GetAllMailAttachment(session comm.IUserSession, req *pb.Mai
fj := make([]*pb.UserAssets, 0) fj := make([]*pb.UserAssets, 0)
for _, v := range mails { for _, v := range mails {
res := make([]*cfg.Game_atn, 0) res := make([]*cfg.Gameatn, 0)
for _, v1 := range v.Items { for _, v1 := range v.Items {
d := &cfg.Game_atn{ d := &cfg.Gameatn{
A: v1.A, A: v1.A,
T: v1.T, T: v1.T,
N: v1.N, N: v1.N,

View File

@ -25,9 +25,9 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
curChapter *pb.DBMainline // 当前章节信息 curChapter *pb.DBMainline // 当前章节信息
bBranch bool // 当前挑战关卡是不是分支 bBranch bool // 当前挑战关卡是不是分支
bCheck bool bCheck bool
res []*cfg.Game_atn // 小章节奖励 res []*cfg.Gameatn // 小章节奖励
) )
res = make([]*cfg.Game_atn, 0) res = make([]*cfg.Gameatn, 0)
bBranch = false bBranch = false
code = this.ChallengeCheck(session, req) code = this.ChallengeCheck(session, req)
if code != pb.ErrorCode_Success { 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) err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Mainline) this.module = module.(*Mainline)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
game_mainlinechapter: cfg.NewGame_mainlineChapter, game_mainlinechapter: cfg.NewGamemainlineChapter,
game_mainlineeasy: cfg.NewGame_mainlineEasy, game_mainlineeasy: cfg.NewGamemainlineEasy,
game_mainlinehard: cfg.NewGame_mainlineHard, game_mainlinehard: cfg.NewGamemainlineHard,
game_mainlinepurgatory: cfg.NewGame_mainlinePurgatory, game_mainlinepurgatory: cfg.NewGamemainlinePurgatory,
}) })
return return
@ -39,16 +39,16 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error)
return configure.GetConfigure(name) 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 { if v, err := this.GetConfigure(game_mainlinechapter); err != nil {
this.module.Errorf("get global conf err:%v", err) this.module.Errorf("get global conf err:%v", err)
return return
} else { } else {
var ( var (
configure *cfg.Game_mainlineChapter configure *cfg.GamemainlineChapter
ok bool 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) this.module.Errorf("%T no is *cfg.Game_mainlineChapterData", v)
return 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 { if v, err := this.GetConfigure(game_mainlineeasy); err != nil {
this.module.Errorf("get global conf err:%v", err) this.module.Errorf("get global conf err:%v", err)
return return
} else { } else {
var ( var (
configure *cfg.Game_mainlineEasy configure *cfg.GamemainlineEasy
ok bool 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) this.module.Errorf("%T no is *cfg.Game_mainlineEasyData", v)
return 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 { if v, err := this.GetConfigure(game_mainlinepurgatory); err != nil {
this.module.Errorf("get global conf err:%v", err) this.module.Errorf("get global conf err:%v", err)
return return
} else { } else {
var ( var (
configure *cfg.Game_mainlinePurgatory configure *cfg.GamemainlinePurgatory
ok bool 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) this.module.Errorf("%T no is *cfg.Game_mainlinePurgatoryData", v)
return 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 { if v, err := this.GetConfigure(game_mainlinehard); err != nil {
this.module.Errorf("get global conf err:%v", err) this.module.Errorf("get global conf err:%v", err)
return return
} else { } else {
var ( var (
configure *cfg.Game_mainlineHard configure *cfg.GamemainlineHard
ok bool 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) this.module.Errorf("%T no is *cfg.Game_mainlineHardData", v)
return return
} }

View File

@ -149,7 +149,7 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
} }
// 只校验资源 参数 atn格式 // 只校验资源 参数 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 ( var (
amount int32 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 ( var (
items map[string]int32 // 道具背包 批量处理 items map[string]int32 // 道具背包 批量处理
attrs 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 ( var (
items map[string]int32 // 道具背包 批量处理 items map[string]int32 // 道具背包 批量处理
heros map[string]int32 // 英雄 heros map[string]int32 // 英雄

View File

@ -19,7 +19,7 @@ const (
type configureComp struct { type configureComp struct {
cbase.ModuleCompBase cbase.ModuleCompBase
hlock sync.RWMutex 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.ModuleCompBase.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
//game_pagoda: cfg.NewGame_pagoda, //game_pagoda: cfg.NewGame_pagoda,
game_pagodaseasonreward: cfg.NewGame_pagodaSeasonReward, game_pagodaseasonreward: cfg.NewGamepagodaSeasonReward,
game_pagodataskreward: cfg.NewGame_pagodaTaskReward, game_pagodataskreward: cfg.NewGamepagodaTaskReward,
}) })
this._pagodaMap = make(map[int64]*cfg.Game_pagodaData, 0) this._pagodaMap = make(map[int64]*cfg.GamepagodaData, 0)
configure.RegisterConfigure(game_pagoda, cfg.NewGame_pagoda, func() { configure.RegisterConfigure(game_pagoda, cfg.NewGamepagoda, func() {
if v, err := this.GetConfigure(game_pagoda); err == nil { 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() this.hlock.Lock()
defer this.hlock.Unlock() defer this.hlock.Unlock()
for _, value := range configure.GetDataList() { for _, value := range configure.GetDataList() {
@ -50,7 +50,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
} }
// 获取爬塔信息 参数1 塔类型 参数2 层数 // 获取爬塔信息 参数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)] 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 { if v, err := this.GetConfigure(game_pagoda); err != nil {
log.Errorf("get global conf err:%v", err) log.Errorf("get global conf err:%v", err)
return return
} else { } else {
var ( var (
configure *cfg.Game_pagoda configure *cfg.Gamepagoda
ok bool 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) log.Errorf("%T no is *cfg.Game_pagodaData", v)
return return
} }

View File

@ -24,10 +24,10 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb
var ( var (
err error err error
ok bool ok bool
conf *cfg.Game_shopitemData conf *cfg.GameshopitemData
shopitem *pb.DBShopItem shopitem *pb.DBShopItem
need []*cfg.Game_atn need []*cfg.Gameatn
give []*cfg.Game_atn give []*cfg.Gameatn
) )
if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success { if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success {
return 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}, 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 { for i, v := range conf.Need {
need[i] = &cfg.Game_atn{ need[i] = &cfg.Gameatn{
A: v.A, A: v.A,
T: v.T, T: v.T,
N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum, 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 { for i, v := range conf.Iteminfo {
give[i] = &cfg.Game_atn{ give[i] = &cfg.Gameatn{
A: v.A, A: v.A,
T: v.T, T: v.T,
N: v.N * req.BuyNum, N: v.N * req.BuyNum,

View File

@ -23,11 +23,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq)
var ( var (
err error err error
filed string filed string
shopconf *cfg.Game_shopData shopconf *cfg.GameshopData
shopData *pb.DBShop shopData *pb.DBShop
udata *pb.DBUser udata *pb.DBUser
sdata *pb.UserShopData sdata *pb.UserShopData
items []*cfg.Game_shopitemData items []*cfg.GameshopitemData
ushoputem map[int32]*pb.DBShopItem ushoputem map[int32]*pb.DBShopItem
goods []*pb.ShopItem goods []*pb.ShopItem
tdata time.Duration 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 { if code = this.module.ConsumeRes(session, shopconf.Rneed, true); code != pb.ErrorCode_Success {
return return
} }
var _items []*cfg.Game_shopitemData var _items []*cfg.GameshopitemData
for _, v := range shopconf.Shopitem { for _, v := range shopconf.Shopitem {
if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 {
code = pb.ErrorCode_SystemError 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}) this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata})
} else if !req.IsManualRefresh { } else if !req.IsManualRefresh {
if tdata > ltime { //达到刷新时间 可以刷新商品列表 if tdata > ltime { //达到刷新时间 可以刷新商品列表
var _items []*cfg.Game_shopitemData var _items []*cfg.GameshopitemData
for _, v := range shopconf.Shopitem { for _, v := range shopconf.Shopitem {
if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 {
code = pb.ErrorCode_SystemError 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) { 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.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Shop) this.module = module.(*Shop)
this.LoadConfigure(game_shop, cfg.NewGame_shop) this.LoadConfigure(game_shop, cfg.NewGameshop)
this.LoadConfigure(game_shopitem, cfg.NewGame_shopitem) this.LoadConfigure(game_shopitem, cfg.NewGameshopitem)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -38,7 +38,7 @@ func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.Game_shopD
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("ShopConfigure not found:%d ", id)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -57,7 +57,7 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.Game_sh
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } 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) err = fmt.Errorf("ShopConfigure not found:%d ", key)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return 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) { func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result []*cfg.GameshopitemData, err error) {
result = make([]*cfg.Game_shopitemData, 0, 10) result = make([]*cfg.GameshopitemData, 0, 10)
var ( var (
v interface{} v interface{}
table *cfg.Game_shopitem table *cfg.Gameshopitem
) )
if v, err = this.GetConfigure(game_shopitem); err != nil { if v, err = this.GetConfigure(game_shopitem); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
table = v.(*cfg.Game_shopitem) table = v.(*cfg.Gameshopitem)
for _, v := range table.GetDataMap() { for _, v := range table.GetDataMap() {
if v.Id == groupid && if v.Id == groupid &&
user.Lv >= v.Lvmin && 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) { func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*cfg.GameshopitemData, err error) {
result = make([]*cfg.Game_shopitemData, 0, len(keys)) result = make([]*cfg.GameshopitemData, 0, len(keys))
var ( var (
v interface{} v interface{}
table *cfg.Game_shopitem table *cfg.Gameshopitem
item *cfg.Game_shopitemData item *cfg.GameshopitemData
ok bool ok bool
) )
if v, err = this.GetConfigure(game_shopitem); err != nil { if v, err = this.GetConfigure(game_shopitem); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
table = v.(*cfg.Game_shopitem) table = v.(*cfg.Gameshopitem)
for _, v := range keys { for _, v := range keys {
if item, ok = table.GetDataMap()[v]; ok { if item, ok = table.GetDataMap()[v]; ok {
result = append(result, item) 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 ( var (
totle int64 totle int64
curr 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)) result = make([]*pb.ShopItem, len(goods))
ok := false ok := false
uitem := &pb.DBShopItem{} 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) { 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) err = this.MCompConfigure.Init(service, module, comp, options)
this.LoadMultiConfigure(map[string]interface{}{ this.LoadMultiConfigure(map[string]interface{}{
gameTaskRound: cfg.NewGame_taskRound, gameTaskRound: cfg.NewGametaskRound,
gameActiveReward: cfg.NewGame_activeReward, gameActiveReward: cfg.NewGameactiveReward,
}) })
return return
} }
//获取活跃度奖励配置 //获取活跃度奖励配置
func (this *configureComp) getActiveRewardCfg() (data *cfg.Game_activeReward, err error) { func (this *configureComp) getActiveRewardCfg() (data *cfg.GameactiveReward, err error) {
var ( var (
v interface{} v interface{}
ok bool ok bool
@ -37,7 +37,7 @@ func (this *configureComp) getActiveRewardCfg() (data *cfg.Game_activeReward, er
if v, err = this.GetConfigure(gameActiveReward); err != nil { if v, err = this.GetConfigure(gameActiveReward); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_ActiveReward", v)
return 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 ( var (
v interface{} v interface{}
ok bool ok bool
@ -54,7 +54,7 @@ func (this *configureComp) getTaskRoundCfg() (data *cfg.Game_taskRound, err erro
if v, err = this.GetConfigure(gameTaskRound); err != nil { if v, err = this.GetConfigure(gameTaskRound); err != nil {
return return
} else { } 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) err = fmt.Errorf("%T no is *cfg.Game_taskRound", v)
return return
} }
@ -63,7 +63,7 @@ func (this *configureComp) getTaskRoundCfg() (data *cfg.Game_taskRound, err erro
} }
//根据taskId获取配置 //根据taskId获取配置
func (this *configureComp) getTaskById(taskId int32) (data *cfg.Game_taskRoundData) { func (this *configureComp) getTaskById(taskId int32) (data *cfg.GametaskRoundData) {
cfg, err := this.getTaskRoundCfg() cfg, err := this.getTaskRoundCfg()
if err != nil { if err != nil {
log.Errorf("%v", err) 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)) data := this.getTaskByTag(int32(comm.TASK_ACHIEVE))
for _, v := range data { for _, v := range data {
if v.IdAfter == preTaskId { 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() cfg, err := this.getTaskRoundCfg()
if err != nil { if err != nil {
log.Errorf("%v", err) 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() list, err := this.getTaskList()
if err != nil { if err != nil {
log.Errorf("%v", err) 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 { if data, err = this.getTasks(taskType); err != nil {
return nil, err return nil, err
} }
@ -139,7 +139,7 @@ func (this *configureComp) getSortedTasks(taskType int32) (data []*cfg.Game_task
} }
//获取任务配置 条件 tasktag //获取任务配置 条件 tasktag
func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.Game_taskRoundData) { func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.GametaskRoundData) {
list, err := this.getTaskList() list, err := this.getTaskList()
if err != nil { if err != nil {
log.Errorf("%v", err) log.Errorf("%v", err)
@ -153,7 +153,7 @@ func (this *configureComp) getTaskByTag(taskTag int32) (data []*cfg.Game_taskRou
return return
} }
func (this *configureComp) getTaskActiveList() (data []*cfg.Game_activeRewardData) { func (this *configureComp) getTaskActiveList() (data []*cfg.GameactiveRewardData) {
conf, err := this.getActiveRewardCfg() conf, err := this.getActiveRewardCfg()
if err != nil { if err != nil {
log.Errorf("get conf err:%v", err) log.Errorf("get conf err:%v", err)
@ -166,7 +166,7 @@ func (this *configureComp) getTaskActiveList() (data []*cfg.Game_activeRewardDat
} }
//获取活跃度奖励list //获取活跃度奖励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() conf, err := this.getActiveRewardCfg()
if err != nil { if err != nil {
log.Errorf("get conf err:%v", err) log.Errorf("get conf err:%v", err)
@ -184,7 +184,7 @@ func (this *configureComp) getTaskActiveByTag(taskTag int32) (data []*cfg.Game_a
} }
// 获取活跃度配置map // 获取活跃度配置map
func (this *configureComp) getTaskActiveById(id int32) (data *cfg.Game_activeRewardData) { func (this *configureComp) getTaskActiveById(id int32) (data *cfg.GameactiveRewardData) {
conf, err := this.getActiveRewardCfg() conf, err := this.getActiveRewardCfg()
if err != nil { if err != nil {
log.Errorf("get conf err:%v", err) 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 return
} }
var ( var (
res []*cfg.Game_atn res []*cfg.Gameatn
) )
//初始化英雄卡 //初始化英雄卡
if val, err := this.module.configure.GetGlobalInitConf(); err == nil { 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 { if expand.ModifynameCount <= 0 {
//TODO 从全局配置从读取消耗道具 //TODO 从全局配置从读取消耗道具
if code = this.module.ConsumeRes(session, []*cfg.Game_atn{ if code = this.module.ConsumeRes(session, []*cfg.Gameatn{
{ {
A: "attr", A: "attr",
T: "gold", T: "gold",

View File

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

View File

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

View File

@ -385,6 +385,7 @@ type DBHeroRecord struct {
Triggernum int32 `protobuf:"varint,8,opt,name=triggernum,proto3" json:"triggernum"` // 活动数据 存放没有触发次数 Triggernum int32 `protobuf:"varint,8,opt,name=triggernum,proto3" json:"triggernum"` // 活动数据 存放没有触发次数
Activityid int32 `protobuf:"varint,9,opt,name=activityid,proto3" json:"activityid"` // 活动id Activityid int32 `protobuf:"varint,9,opt,name=activityid,proto3" json:"activityid"` // 活动id
Mtime int64 `protobuf:"varint,10,opt,name=mtime,proto3" json:"mtime"` // 修改时间 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() { func (x *DBHeroRecord) Reset() {
@ -489,6 +490,13 @@ func (x *DBHeroRecord) GetMtime() int64 {
return 0 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 protoreflect.FileDescriptor
var file_hero_hero_db_proto_rawDesc = []byte{ 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, 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, 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, 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, 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, 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, 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, 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, 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, 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 ( var (

View File

@ -1,7 +1,6 @@
package serialization package serialization
import ( import (
math2 "bright/math"
"errors" "errors"
"math" "math"
) )
@ -611,51 +610,51 @@ func (buf *ByteBuf) WriteBytesWithoutSize(x []byte) {
buf.writerIndex += size buf.writerIndex += size
} }
func (buf *ByteBuf) ReadVector2() (math2.Vector2, error) { func (buf *ByteBuf) ReadVector2() (Vector2, error) {
if x, err := buf.ReadFloat(); err == nil { if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == 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.X)
buf.WriteFloat(x.Y) 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 x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil { if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == 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.X)
buf.WriteFloat(x.Y) buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z) 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 x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil { if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == nil { if z, err3 := buf.ReadFloat(); err3 == nil {
if w, err4 := buf.ReadFloat(); err4 == 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.X)
buf.WriteFloat(x.Y) buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z) 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 package serialization
import ( import (
math2 "bright/math"
"bytes" "bytes"
"testing" "testing"
) )
@ -20,7 +19,6 @@ func TestMarshal(t *testing.T) {
} }
} }
for i := 0; i < 256; i = i*3/2 + 1 { for i := 0; i < 256; i = i*3/2 + 1 {
x := byte(i) x := byte(i)
buf.WriteByte(x) buf.WriteByte(x)
@ -32,7 +30,6 @@ func TestMarshal(t *testing.T) {
} }
} }
for i := 0; i < 0x10000; i = i*3/2 + 1 { for i := 0; i < 0x10000; i = i*3/2 + 1 {
x := int16(i) x := int16(i)
buf.WriteShort(x) 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) buf.WriteVector2(x)
if v, err := buf.ReadVector2(); err != nil || v != x { if v, err := buf.ReadVector2(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v) 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) buf.WriteVector3(x)
if v, err := buf.ReadVector3(); err != nil || v != x { if v, err := buf.ReadVector3(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v) 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) buf.WriteVector4(x)
if v, err := buf.ReadVector4(); err != nil || v != x { if v, err := buf.ReadVector4(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v) 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,32 +5,36 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type _ALocalizeConfig struct { type ALocalizeConfig struct {
Key string Key string
} }
const TypeId_ALocalizeConfig = 1703856460
func New_ALocalizeConfig(_buf map[string]interface{}) (_v interface{}, err error) { func (*ALocalizeConfig) GetTypeId() int32 {
var id string return 1703856460
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 New_ALocalizeConfig_Body(_buf map[string]interface{}) (_v *_ALocalizeConfig, err error) { func (_v *ALocalizeConfig)Deserialize(_buf map[string]interface{}) (err error) {
_v = &_ALocalizeConfig{}
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } } { var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Localize_LocalizeConfig_CNCategory struct { type LocalizeLocalizeConfig_CNCategory struct {
_dataMap map[string]*_LocalizeConfig_CN _dataMap map[string]*LocalizeConfig_CN
_dataList []*_LocalizeConfig_CN _dataList []*LocalizeConfig_CN
} }
func NewLocalize_LocalizeConfig_CNCategory(_buf []map[string]interface{}) (*Localize_LocalizeConfig_CNCategory, error) { func NewLocalizeLocalizeConfig_CNCategory(_buf []map[string]interface{}) (*LocalizeLocalizeConfig_CNCategory, error) {
_dataList := make([]*_LocalizeConfig_CN, 0, len(_buf)) _dataList := make([]*LocalizeConfig_CN, 0, len(_buf))
dataMap := make(map[string]*_LocalizeConfig_CN) dataMap := make(map[string]*LocalizeConfig_CN)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := New_LocalizeConfig_CN(_ele_); err2 != nil { if _v, err2 := DeserializeLocalizeConfig_CN(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Localize_LocalizeConfig_CNCategory) GetDataList() []*_LocalizeConfig_CN { func (table *LocalizeLocalizeConfig_CNCategory) GetDataList() []*LocalizeConfig_CN {
return table._dataList 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] return table._dataMap[key]
} }

View File

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

View File

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

View File

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

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,20 +5,22 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_ChildSkills struct { type GameChildSkills struct {
Id []int32 Id []int32
} }
func (Game_ChildSkills) GetTypeId() int { const TypeId_GameChildSkills = -1958253470
func (*GameChildSkills) GetTypeId() int32 {
return -1958253470 return -1958253470
} }
func NewGame_ChildSkills(_buf map[string]interface{}) (_v *Game_ChildSkills, err error) { func (_v *GameChildSkills)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_ChildSkills{}
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
@ -36,3 +37,12 @@ func NewGame_ChildSkills(_buf map[string]interface{}) (_v *Game_ChildSkills, err
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_Figure struct { type GameFigure struct {
Id int32 Id int32
Key string Key string
Color string Color string
@ -21,12 +21,13 @@ type Game_Figure struct {
Icon string Icon string
} }
func (Game_Figure) GetTypeId() int { const TypeId_GameFigure = -1818502016
func (*GameFigure) GetTypeId() int32 {
return -1818502016 return -1818502016
} }
func NewGame_Figure(_buf map[string]interface{}) (_v *Game_Figure, err error) { func (_v *GameFigure)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_Figure{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["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.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 } } { 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 } } { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_activeReward struct { type GameactiveReward struct {
_dataMap map[int32]*Game_activeRewardData _dataMap map[int32]*GameactiveRewardData
_dataList []*Game_activeRewardData _dataList []*GameactiveRewardData
} }
func NewGame_activeReward(_buf []map[string]interface{}) (*Game_activeReward, error) { func NewGameactiveReward(_buf []map[string]interface{}) (*GameactiveReward, error) {
_dataList := make([]*Game_activeRewardData, 0, len(_buf)) _dataList := make([]*GameactiveRewardData, 0, len(_buf))
dataMap := make(map[int32]*Game_activeRewardData) dataMap := make(map[int32]*GameactiveRewardData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_activeRewardData(_ele_); err2 != nil { if _v, err2 := DeserializeGameactiveRewardData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Game_activeReward) GetDataList() []*Game_activeRewardData { func (table *GameactiveReward) GetDataList() []*GameactiveRewardData {
return table._dataList return table._dataList
} }
func (table *Game_activeReward) Get(key int32) *Game_activeRewardData { func (table *GameactiveReward) Get(key int32) *GameactiveRewardData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,23 +5,25 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_activeRewardData struct { type GameactiveRewardData struct {
Key int32 Key int32
IdTag int32 IdTag int32
Active int32 Active int32
Reword []*Game_atn Reword []*Gameatn
} }
func (Game_activeRewardData) GetTypeId() int { const TypeId_GameactiveRewardData = -41023077
func (*GameactiveRewardData) GetTypeId() int32 {
return -41023077 return -41023077
} }
func NewGame_activeRewardData(_buf map[string]interface{}) (_v *Game_activeRewardData, err error) { func (_v *GameactiveRewardData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_activeRewardData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["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["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_) } { 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 var _ok_ bool
if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return } 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_ { for _, _e_ := range _arr_ {
var _list_v_ *Game_atn 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 = NewGame_atn(_x_); err != nil { return } } { 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_) _v.Reword = append(_v.Reword, _list_v_)
} }
} }
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_atn struct { type Gameatn struct {
A string A string
T string T string
N int32 N int32
} }
func (Game_atn) GetTypeId() int { const TypeId_Gameatn = -1770297697
func (*Gameatn) GetTypeId() int32 {
return -1770297697 return -1770297697
} }
func NewGame_atn(_buf map[string]interface{}) (_v *Game_atn, err error) { func (_v *Gameatn)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_atn{}
{ var _ok_ bool; if _v.A, _ok_ = _buf["a"].(string); !_ok_ { err = errors.New("a error"); return } } { 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; 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_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ { err = errors.New("n error"); return }; _v.N = int32(_tempNum_) }
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_chatChannel struct { type GamechatChannel struct {
_dataMap map[string]*Game_chatChannelData _dataMap map[string]*GamechatChannelData
_dataList []*Game_chatChannelData _dataList []*GamechatChannelData
} }
func NewGame_chatChannel(_buf []map[string]interface{}) (*Game_chatChannel, error) { func NewGamechatChannel(_buf []map[string]interface{}) (*GamechatChannel, error) {
_dataList := make([]*Game_chatChannelData, 0, len(_buf)) _dataList := make([]*GamechatChannelData, 0, len(_buf))
dataMap := make(map[string]*Game_chatChannelData) dataMap := make(map[string]*GamechatChannelData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatChannelData(_ele_); err2 != nil { if _v, err2 := DeserializeGamechatChannelData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Game_chatChannel) GetDataList() []*Game_chatChannelData { func (table *GamechatChannel) GetDataList() []*GamechatChannelData {
return table._dataList return table._dataList
} }
func (table *Game_chatChannel) Get(key string) *Game_chatChannelData { func (table *GamechatChannel) Get(key string) *GamechatChannelData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

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

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_chatChannelComData struct { type GamechatChannelComData struct {
Key string Key string
Value int32 Value int32
Dec string Dec string
} }
func (Game_chatChannelComData) GetTypeId() int { const TypeId_GamechatChannelComData = 1284108092
func (*GamechatChannelComData) GetTypeId() int32 {
return 1284108092 return 1284108092
} }
func NewGame_chatChannelComData(_buf map[string]interface{}) (_v *Game_chatChannelComData, err error) { func (_v *GamechatChannelComData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_chatChannelComData{}
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } } { 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; 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 } } { var _ok_ bool; if _v.Dec, _ok_ = _buf["dec"].(string); !_ok_ { err = errors.New("dec error"); return } }
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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,24 +5,35 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_chatChannelData struct { type GamechatChannelData struct {
Key string Key string
TagList int32 TagList int32
SpeakCd int32 SpeakCd int32
} }
func (Game_chatChannelData) GetTypeId() int { const TypeId_GamechatChannelData = -19547431
func (*GamechatChannelData) GetTypeId() int32 {
return -19547431 return -19547431
} }
func NewGame_chatChannelData(_buf map[string]interface{}) (_v *Game_chatChannelData, err error) { func (_v *GamechatChannelData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_chatChannelData{}
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } } { 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["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_) } { 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 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_chatServerGroup struct { type GamechatServerGroup struct {
_dataMap map[string]*Game_chatServerGroupData _dataMap map[string]*GamechatServerGroupData
_dataList []*Game_chatServerGroupData _dataList []*GamechatServerGroupData
} }
func NewGame_chatServerGroup(_buf []map[string]interface{}) (*Game_chatServerGroup, error) { func NewGamechatServerGroup(_buf []map[string]interface{}) (*GamechatServerGroup, error) {
_dataList := make([]*Game_chatServerGroupData, 0, len(_buf)) _dataList := make([]*GamechatServerGroupData, 0, len(_buf))
dataMap := make(map[string]*Game_chatServerGroupData) dataMap := make(map[string]*GamechatServerGroupData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatServerGroupData(_ele_); err2 != nil { if _v, err2 := DeserializeGamechatServerGroupData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Server] = _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 return table._dataMap
} }
func (table *Game_chatServerGroup) GetDataList() []*Game_chatServerGroupData { func (table *GamechatServerGroup) GetDataList() []*GamechatServerGroupData {
return table._dataList return table._dataList
} }
func (table *Game_chatServerGroup) Get(key string) *Game_chatServerGroupData { func (table *GamechatServerGroup) Get(key string) *GamechatServerGroupData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,22 +5,33 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_chatServerGroupData struct { type GamechatServerGroupData struct {
Server string Server string
Group int32 Group int32
} }
func (Game_chatServerGroupData) GetTypeId() int { const TypeId_GamechatServerGroupData = 825941074
func (*GamechatServerGroupData) GetTypeId() int32 {
return 825941074 return 825941074
} }
func NewGame_chatServerGroupData(_buf map[string]interface{}) (_v *Game_chatServerGroupData, err error) { func (_v *GamechatServerGroupData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_chatServerGroupData{}
{ var _ok_ bool; if _v.Server, _ok_ = _buf["server"].(string); !_ok_ { err = errors.New("server error"); return } } { 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_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_chatSystem struct { type GamechatSystem struct {
_dataMap map[int32]*Game_chatSystemData _dataMap map[int32]*GamechatSystemData
_dataList []*Game_chatSystemData _dataList []*GamechatSystemData
} }
func NewGame_chatSystem(_buf []map[string]interface{}) (*Game_chatSystem, error) { func NewGamechatSystem(_buf []map[string]interface{}) (*GamechatSystem, error) {
_dataList := make([]*Game_chatSystemData, 0, len(_buf)) _dataList := make([]*GamechatSystemData, 0, len(_buf))
dataMap := make(map[int32]*Game_chatSystemData) dataMap := make(map[int32]*GamechatSystemData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_chatSystemData(_ele_); err2 != nil { if _v, err2 := DeserializeGamechatSystemData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Game_chatSystem) GetDataList() []*Game_chatSystemData { func (table *GamechatSystem) GetDataList() []*GamechatSystemData {
return table._dataList return table._dataList
} }
func (table *Game_chatSystem) Get(key int32) *Game_chatSystemData { func (table *GamechatSystem) Get(key int32) *GamechatSystemData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_chatSystemData struct { type GamechatSystemData struct {
Key int32 Key int32
Type int32 Type int32
Title string Title string
@ -22,12 +22,13 @@ type Game_chatSystemData struct {
TimeM int32 TimeM int32
} }
func (Game_chatSystemData) GetTypeId() int { const TypeId_GamechatSystemData = -198348435
func (*GamechatSystemData) GetTypeId() int32 {
return -198348435 return -198348435
} }
func NewGame_chatSystemData(_buf map[string]interface{}) (_v *Game_chatSystemData, err error) { func (_v *GamechatSystemData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_chatSystemData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = 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 } } { 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_) } { 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 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_coin struct { type Gamecoin struct {
_dataMap map[string]*Game_coinData _dataMap map[string]*GamecoinData
_dataList []*Game_coinData _dataList []*GamecoinData
} }
func NewGame_coin(_buf []map[string]interface{}) (*Game_coin, error) { func NewGamecoin(_buf []map[string]interface{}) (*Gamecoin, error) {
_dataList := make([]*Game_coinData, 0, len(_buf)) _dataList := make([]*GamecoinData, 0, len(_buf))
dataMap := make(map[string]*Game_coinData) dataMap := make(map[string]*GamecoinData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_coinData(_ele_); err2 != nil { if _v, err2 := DeserializeGamecoinData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Game_coin) GetDataList() []*Game_coinData { func (table *Gamecoin) GetDataList() []*GamecoinData {
return table._dataList return table._dataList
} }
func (table *Game_coin) Get(key string) *Game_coinData { func (table *Gamecoin) Get(key string) *GamecoinData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_coinData struct { type GamecoinData struct {
Key string Key string
Name string Name string
Color int32 Color int32
@ -23,12 +23,13 @@ type Game_coinData struct {
Intr string Intr string
} }
func (Game_coinData) GetTypeId() int { const TypeId_GamecoinData = 552622167
func (*GamecoinData) GetTypeId() int32 {
return 552622167 return 552622167
} }
func NewGame_coinData(_buf map[string]interface{}) (_v *Game_coinData, err error) { func (_v *GamecoinData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_coinData{}
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } } { 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; 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_) } { 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 } } { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_com struct { type Gamecom struct {
_dataMap map[string]*Game_comData _dataMap map[int32]*GamecomData
_dataList []*Game_comData _dataList []*GamecomData
} }
func NewGame_com(_buf []map[string]interface{}) (*Game_com, error) { func NewGamecom(_buf []map[string]interface{}) (*Gamecom, error) {
_dataList := make([]*Game_comData, 0, len(_buf)) _dataList := make([]*GamecomData, 0, len(_buf))
dataMap := make(map[string]*Game_comData) dataMap := make(map[int32]*GamecomData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_comData(_ele_); err2 != nil { if _v, err2 := DeserializeGamecomData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _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 return table._dataMap
} }
func (table *Game_com) GetDataList() []*Game_comData { func (table *Gamecom) GetDataList() []*GamecomData {
return table._dataList return table._dataList
} }
func (table *Game_com) Get(key string) *Game_comData { func (table *Gamecom) Get(key int32) *GamecomData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

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

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,35 +5,46 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_comAtnData struct { type GamecomAtnData struct {
Index string Index string
Var []*Game_atn Var []*Gameatn
} }
func (Game_comAtnData) GetTypeId() int { const TypeId_GamecomAtnData = 1272050592
func (*GamecomAtnData) GetTypeId() int32 {
return 1272050592 return 1272050592
} }
func NewGame_comAtnData(_buf map[string]interface{}) (_v *Game_comAtnData, err error) { func (_v *GamecomAtnData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_comAtnData{}
{ var _ok_ bool; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } } { var _ok_ bool; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
if _arr_, _ok_ = _buf["var"].([]interface{}); !_ok_ { err = errors.New("var error"); return } 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_ { for _, _e_ := range _arr_ {
var _list_v_ *Game_atn 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 = NewGame_atn(_x_); err != nil { return } } { 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_) _v.Var = append(_v.Var, _list_v_)
} }
} }
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,24 +5,200 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_comData struct { type GamecomData struct {
Index string MaxChar int32
Var string TaskReset int32
Intr string 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 return -395344177
} }
func NewGame_comData(_buf map[string]interface{}) (_v *Game_comData, err error) { func (_v *GamecomData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_comData{} { 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; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } } { 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; if _v.Var, _ok_ = _buf["var"].(string); !_ok_ { err = errors.New("var error"); return } } { 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 _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } {
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 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_drawCard struct { type GamedrawCard struct {
_dataMap map[int32]*Game_drawCardData _dataMap map[int32]*GamedrawCardData
_dataList []*Game_drawCardData _dataList []*GamedrawCardData
} }
func NewGame_drawCard(_buf []map[string]interface{}) (*Game_drawCard, error) { func NewGamedrawCard(_buf []map[string]interface{}) (*GamedrawCard, error) {
_dataList := make([]*Game_drawCardData, 0, len(_buf)) _dataList := make([]*GamedrawCardData, 0, len(_buf))
dataMap := make(map[int32]*Game_drawCardData) dataMap := make(map[int32]*GamedrawCardData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_drawCardData(_ele_); err2 != nil { if _v, err2 := DeserializeGamedrawCardData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _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 return table._dataMap
} }
func (table *Game_drawCard) GetDataList() []*Game_drawCardData { func (table *GamedrawCard) GetDataList() []*GamedrawCardData {
return table._dataList return table._dataList
} }
func (table *Game_drawCard) Get(key int32) *Game_drawCardData { func (table *GamedrawCard) Get(key int32) *GamedrawCardData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,26 +5,43 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_drawCardData struct { type GamedrawCardData struct {
Key int32 Key int32
RecruitmentType int32
CardPoolType string
Star int32
Race int32
Id string Id string
TypeId int32
Weight int32 Weight int32
} }
func (Game_drawCardData) GetTypeId() int { const TypeId_GamedrawCardData = -179684166
func (*GamedrawCardData) GetTypeId() int32 {
return -179684166 return -179684166
} }
func NewGame_drawCardData(_buf map[string]interface{}) (_v *Game_drawCardData, err error) { func (_v *GamedrawCardData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_drawCardData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["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; 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_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
return 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,36 +5,37 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_equip struct { type Gameequip struct {
_dataMap map[string]*Game_equipData _dataMap map[string]*GameequipData
_dataList []*Game_equipData _dataList []*GameequipData
} }
func NewGame_equip(_buf []map[string]interface{}) (*Game_equip, error) { func NewGameequip(_buf []map[string]interface{}) (*Gameequip, error) {
_dataList := make([]*Game_equipData, 0, len(_buf)) _dataList := make([]*GameequipData, 0, len(_buf))
dataMap := make(map[string]*Game_equipData) dataMap := make(map[string]*GameequipData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_equipData(_ele_); err2 != nil { if _v, err2 := DeserializeGameequipData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Id] = _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 return table._dataMap
} }
func (table *Game_equip) GetDataList() []*Game_equipData { func (table *Gameequip) GetDataList() []*GameequipData {
return table._dataList return table._dataList
} }
func (table *Game_equip) Get(key string) *Game_equipData { func (table *Gameequip) Get(key string) *GameequipData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

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

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_equipAttrlibraryData struct { type GameequipAttrlibraryData struct {
Key int32 Key int32
Libraryid int32 Libraryid int32
Attrkey string Attrkey string
@ -19,12 +19,13 @@ type Game_equipAttrlibraryData struct {
Addition []int32 Addition []int32
} }
func (Game_equipAttrlibraryData) GetTypeId() int { const TypeId_GameequipAttrlibraryData = -437457248
func (*GameequipAttrlibraryData) GetTypeId() int32 {
return -437457248 return -437457248
} }
func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAttrlibraryData, err error) { func (_v *GameequipAttrlibraryData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_equipAttrlibraryData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ { err = errors.New("libraryid error"); return }; _v.Libraryid = 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 } } { 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 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,37 +5,36 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
type Game_equipColor struct { type GameequipColor struct {
_dataMap map[int32]*Game_equipColorData _dataMap map[int32]*GameequipColorData
_dataList []*Game_equipColorData _dataList []*GameequipColorData
} }
func NewGame_equipColor(_buf []map[string]interface{}) (*Game_equipColor, error) { func NewGameequipColor(_buf []map[string]interface{}) (*GameequipColor, error) {
_dataList := make([]*Game_equipColorData, 0, len(_buf)) _dataList := make([]*GameequipColorData, 0, len(_buf))
dataMap := make(map[int32]*Game_equipColorData) dataMap := make(map[int32]*GameequipColorData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := NewGame_equipColorData(_ele_); err2 != nil { if _v, err2 := DeserializeGameequipColorData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Num] = _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 return table._dataMap
} }
func (table *Game_equipColor) GetDataList() []*Game_equipColorData { func (table *GameequipColor) GetDataList() []*GameequipColorData {
return table._dataList return table._dataList
} }
func (table *Game_equipColor) Get(key int32) *Game_equipColorData { func (table *GameequipColor) Get(key int32) *GameequipColorData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -1,4 +1,3 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,22 +5,33 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_equipColorData struct { type GameequipColorData struct {
Num int32 Num int32
Color string Color string
} }
func (Game_equipColorData) GetTypeId() int { const TypeId_GameequipColorData = 2132033753
func (*GameequipColorData) GetTypeId() int32 {
return 2132033753 return 2132033753
} }
func NewGame_equipColorData(_buf map[string]interface{}) (_v *Game_equipColorData, err error) { func (_v *GameequipColorData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_equipColorData{}
{ 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 _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 } } } {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 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
@ -6,11 +5,12 @@
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
package cfg package cfg
import "errors" import "errors"
type Game_equipData struct { type GameequipData struct {
Id string Id string
Name string Name string
Suittype int32 Suittype int32
@ -24,15 +24,16 @@ type Game_equipData struct {
Addlibrary int32 Addlibrary int32
Ico string Ico string
UseSkip int32 UseSkip int32
Sale []*Game_atn Sale []*Gameatn
} }
func (Game_equipData) GetTypeId() int { const TypeId_GameequipData = 1778846974
func (*GameequipData) GetTypeId() int32 {
return 1778846974 return 1778846974
} }
func NewGame_equipData(_buf map[string]interface{}) (_v *Game_equipData, err error) { func (_v *GameequipData)Deserialize(_buf map[string]interface{}) (err error) {
_v = &Game_equipData{}
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } } { 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 __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_) } { 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 var _ok_ bool
if _arr_, _ok_ = _buf["sale"].([]interface{}); !_ok_ { err = errors.New("sale error"); return } 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_ { for _, _e_ := range _arr_ {
var _list_v_ *Game_atn 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 = NewGame_atn(_x_); err != nil { return } } { 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_) _v.Sale = append(_v.Sale, _list_v_)
} }
} }
return 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