fix:
皮肤系统
This commit is contained in:
parent
20f0f41c22
commit
83485d0fd0
20
src/api_s2c/heroskin/ApiTakeOff.ts
Normal file
20
src/api_s2c/heroskin/ApiTakeOff.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { ApiCall } from "tsrpc";
|
||||||
|
import { ReqTakeOff, ResTakeOff } from "../../shared/protocols/heroskin/PtlTakeOff";
|
||||||
|
import { HeroFun } from "../../public/hero";
|
||||||
|
|
||||||
|
export default async function (call: ApiCall<ReqTakeOff, ResTakeOff>) {
|
||||||
|
let hero = await HeroFun.getHero(call, call.req.heroOid);
|
||||||
|
if (!hero) { // 英雄不存在
|
||||||
|
call.error(lng.hero_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hero.skin) { // 没有穿戴皮肤
|
||||||
|
call.error(lng.hero_22);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HeroFun.changeHeroAttr(call, hero, { skin: "" });
|
||||||
|
|
||||||
|
call.succ({});
|
||||||
|
}
|
36
src/api_s2c/heroskin/ApiUplv.ts
Normal file
36
src/api_s2c/heroskin/ApiUplv.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import { ApiCall } from "tsrpc";
|
||||||
|
import HeroSkinFun from "../../public/heroskin";
|
||||||
|
import { PlayerFun } from "../../public/player";
|
||||||
|
import { ReqUplv, ResUplv } from "../../shared/protocols/heroskin/PtlUplv";
|
||||||
|
|
||||||
|
|
||||||
|
export default async function (call: ApiCall<ReqUplv, ResUplv>) {
|
||||||
|
let skin = HeroSkinFun.getHeroSkin(call);
|
||||||
|
if (!skin[call.req.skid]) {// 皮肤未获得
|
||||||
|
call.error(lng.hero_20);
|
||||||
|
}
|
||||||
|
|
||||||
|
let cur_lv = skin[call.req.skid];
|
||||||
|
let skinconf = G.gc.heroSkin[skin.skid];
|
||||||
|
|
||||||
|
let need = [];
|
||||||
|
for (let i = 0; i < call.req.lv; i++) {
|
||||||
|
need.concat(
|
||||||
|
G.gc.heroSkinLv[skinconf.colour][cur_lv + i].need
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检测消耗
|
||||||
|
await PlayerFun.checkNeedIsMeet(call, need);
|
||||||
|
|
||||||
|
// 扣除消耗
|
||||||
|
await PlayerFun.cutNeed(call, need);
|
||||||
|
|
||||||
|
// 更新等级
|
||||||
|
skin[call.req.skid] = cur_lv + call.req.lv;
|
||||||
|
|
||||||
|
// 更新skinlv
|
||||||
|
HeroSkinFun.updateHeroSkinLv(call, { [call.req.skid]: cur_lv + call.req.lv });
|
||||||
|
|
||||||
|
call.succ({});
|
||||||
|
}
|
28
src/api_s2c/heroskin/ApiWear.ts
Normal file
28
src/api_s2c/heroskin/ApiWear.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { ApiCall } from "tsrpc";
|
||||||
|
import { HeroFun } from "../../public/hero";
|
||||||
|
import HeroSkinFun from "../../public/heroskin";
|
||||||
|
import { ReqWear, ResWear } from "../../shared/protocols/heroskin/PtlWear";
|
||||||
|
|
||||||
|
export default async function (call: ApiCall<ReqWear, ResWear>) {
|
||||||
|
let hero = await HeroFun.getHero(call, call.req.heroOid);
|
||||||
|
if (!hero) { // 英雄不存在
|
||||||
|
call.error(lng.hero_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let skin = HeroSkinFun.getHeroSkin(call);
|
||||||
|
if (!skin || !skin[call.req.skid]) { // 皮肤不存在
|
||||||
|
call.error(lng.hero_20);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let skinconf = G.gc.heroSkin[skin.skid];
|
||||||
|
if (skinconf.heroid != hero.heroId) { // 皮肤不属于该英雄
|
||||||
|
call.error(lng.hero_21);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HeroFun.changeHeroAttr(call, hero, { skin: call.req.skid });
|
||||||
|
|
||||||
|
call.succ({});
|
||||||
|
}
|
@ -1316,6 +1316,20 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"optional": true
|
"optional": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 38,
|
||||||
|
"name": "heroskin",
|
||||||
|
"type": {
|
||||||
|
"type": "Interface",
|
||||||
|
"indexSignature": {
|
||||||
|
"keyType": "String",
|
||||||
|
"type": {
|
||||||
|
"type": "Number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"optional": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1707,6 +1721,13 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"name": "skin",
|
||||||
|
"type": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"jinbi": {
|
"jinbi": {
|
||||||
"id": "jinbi",
|
"id": "jinbi",
|
||||||
"name": "intr_attr_name_1",
|
"name": "intr_attr_name_1",
|
||||||
"undefined": "美金",
|
"undefined": "通用货币,能购买大多数商品",
|
||||||
"colour": 3,
|
"colour": 3,
|
||||||
"icon": "icon_jinbi",
|
"icon": "icon_jinbi",
|
||||||
"sicon": "icon_jinbi",
|
"sicon": "icon_jinbi",
|
||||||
@ -12,7 +12,7 @@
|
|||||||
"rmbmoney": {
|
"rmbmoney": {
|
||||||
"id": "rmbmoney",
|
"id": "rmbmoney",
|
||||||
"name": "intr_attr_name_2",
|
"name": "intr_attr_name_2",
|
||||||
"undefined": "钻石",
|
"undefined": "稀有货币,没有人可以抗拒它",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_zuanshi",
|
"icon": "icon_zuanshi",
|
||||||
"sicon": "icon_zuanshi",
|
"sicon": "icon_zuanshi",
|
||||||
@ -22,7 +22,7 @@
|
|||||||
"nexp": {
|
"nexp": {
|
||||||
"id": "nexp",
|
"id": "nexp",
|
||||||
"name": "intr_attr_name_3",
|
"name": "intr_attr_name_3",
|
||||||
"undefined": "主角经验",
|
"undefined": "用于提升主角等级",
|
||||||
"colour": 4,
|
"colour": 4,
|
||||||
"icon": "icon_zjjy",
|
"icon": "icon_zjjy",
|
||||||
"sicon": "icon_zjjy",
|
"sicon": "icon_zjjy",
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"rongyu": {
|
"rongyu": {
|
||||||
"id": "rongyu",
|
"id": "rongyu",
|
||||||
"name": "intr_attr_name_4",
|
"name": "intr_attr_name_4",
|
||||||
"undefined": "荣誉勋章",
|
"undefined": "荣誉的象征,可以在荣誉商店兑换道具",
|
||||||
"colour": 4,
|
"colour": 4,
|
||||||
"icon": "icon_rongyu",
|
"icon": "icon_rongyu",
|
||||||
"sicon": "icon_rongyu",
|
"sicon": "icon_rongyu",
|
||||||
@ -42,7 +42,7 @@
|
|||||||
"payExp": {
|
"payExp": {
|
||||||
"id": "payExp",
|
"id": "payExp",
|
||||||
"name": "intr_attr_name_5",
|
"name": "intr_attr_name_5",
|
||||||
"undefined": "VIP经验",
|
"undefined": "稀有货币,没有人可以抗拒它",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_gzjy",
|
"icon": "icon_gzjy",
|
||||||
"sicon": "icon_gzjy",
|
"sicon": "icon_gzjy",
|
||||||
@ -52,7 +52,7 @@
|
|||||||
"guijinshu": {
|
"guijinshu": {
|
||||||
"id": "guijinshu",
|
"id": "guijinshu",
|
||||||
"name": "intr_attr_name_6",
|
"name": "intr_attr_name_6",
|
||||||
"undefined": "贵金属",
|
"undefined": "通过精炼饰品获得的稀有贵金属,可以在饰品商店兑换饰品",
|
||||||
"colour": 3,
|
"colour": 3,
|
||||||
"icon": "icon_xyjsh",
|
"icon": "icon_xyjsh",
|
||||||
"sicon": "icon_xyjsh",
|
"sicon": "icon_xyjsh",
|
||||||
@ -62,7 +62,7 @@
|
|||||||
"shilifrd": {
|
"shilifrd": {
|
||||||
"id": "shilifrd",
|
"id": "shilifrd",
|
||||||
"name": "intr_attr_name_11",
|
"name": "intr_attr_name_11",
|
||||||
"undefined": "势力繁荣度",
|
"undefined": "势力的繁荣度越高,势力等级越高",
|
||||||
"colour": 4,
|
"colour": 4,
|
||||||
"icon": "icon_slfrd",
|
"icon": "icon_slfrd",
|
||||||
"sicon": "icon_slfrd",
|
"sicon": "icon_slfrd",
|
||||||
@ -72,7 +72,7 @@
|
|||||||
"clsl_sd": {
|
"clsl_sd": {
|
||||||
"id": "clsl_sd",
|
"id": "clsl_sd",
|
||||||
"name": "intr_attr_name_12",
|
"name": "intr_attr_name_12",
|
||||||
"undefined": "丛林狩猎胜点",
|
"undefined": "丛林狩猎的段位胜点,胜点数量足够后可进阶",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_clsl_xx",
|
"icon": "icon_clsl_xx",
|
||||||
"sicon": "icon_clsl_xx",
|
"sicon": "icon_clsl_xx",
|
||||||
@ -82,7 +82,7 @@
|
|||||||
"nahanzhuwei": {
|
"nahanzhuwei": {
|
||||||
"id": "nahanzhuwei",
|
"id": "nahanzhuwei",
|
||||||
"name": "tlsd_guess_name_1",
|
"name": "tlsd_guess_name_1",
|
||||||
"undefined": "呐喊助威",
|
"undefined": "参与竞猜后获得莱微碎片*1和美金*500000",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_heroBox_11",
|
"icon": "icon_heroBox_11",
|
||||||
"sicon": "icon_heroBox_11",
|
"sicon": "icon_heroBox_11",
|
||||||
@ -92,7 +92,7 @@
|
|||||||
"aidebaobao": {
|
"aidebaobao": {
|
||||||
"id": "aidebaobao",
|
"id": "aidebaobao",
|
||||||
"name": "tlsd_guess_name_2",
|
"name": "tlsd_guess_name_2",
|
||||||
"undefined": "爱的抱抱",
|
"undefined": "参与竞猜后获得莱微碎片*1,配件蓝图*1和美金*800000",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_heroBox_11",
|
"icon": "icon_heroBox_11",
|
||||||
"sicon": "icon_heroBox_11",
|
"sicon": "icon_heroBox_11",
|
||||||
@ -102,7 +102,7 @@
|
|||||||
"woweishenkuang": {
|
"woweishenkuang": {
|
||||||
"id": "woweishenkuang",
|
"id": "woweishenkuang",
|
||||||
"name": "tlsd_guess_name_3",
|
"name": "tlsd_guess_name_3",
|
||||||
"undefined": "我为神狂",
|
"undefined": "参与竞猜后获得莱微碎片*1,配件蓝图*3和美金*1000000",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_heroBox_11",
|
"icon": "icon_heroBox_11",
|
||||||
"sicon": "icon_heroBox_11",
|
"sicon": "icon_heroBox_11",
|
||||||
@ -112,7 +112,7 @@
|
|||||||
"shengdanExp": {
|
"shengdanExp": {
|
||||||
"id": "shengdanExp",
|
"id": "shengdanExp",
|
||||||
"name": "intr_attr_name_13",
|
"name": "intr_attr_name_13",
|
||||||
"undefined": "圣诞战令经验",
|
"undefined": "一年一度的圣诞庆典获得的圣诞欢乐值,可以提升庆典圣诞树奖励进度",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_sdhd_item_1",
|
"icon": "icon_sdhd_item_1",
|
||||||
"sicon": "icon_sdhd_item_1",
|
"sicon": "icon_sdhd_item_1",
|
||||||
@ -122,7 +122,7 @@
|
|||||||
"shengdanBullet": {
|
"shengdanBullet": {
|
||||||
"id": "shengdanBullet",
|
"id": "shengdanBullet",
|
||||||
"name": "intr_attr_name_14",
|
"name": "intr_attr_name_14",
|
||||||
"undefined": "圣诞打靶币",
|
"undefined": "圣诞活动获得的庆典喷漆,可以在“百发百中”兑换射击次数",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_chegaipq",
|
"icon": "icon_chegaipq",
|
||||||
"sicon": "icon_chegaipq",
|
"sicon": "icon_chegaipq",
|
||||||
@ -132,7 +132,7 @@
|
|||||||
"jingxuanbi": {
|
"jingxuanbi": {
|
||||||
"id": "jingxuanbi",
|
"id": "jingxuanbi",
|
||||||
"name": "intr_attr_name_15",
|
"name": "intr_attr_name_15",
|
||||||
"undefined": "每日精选兑换币",
|
"undefined": "只能在黑市使用的票券,可以在黑市里的每日精选兑换商店购买稀有道具",
|
||||||
"colour": 4,
|
"colour": 4,
|
||||||
"icon": "icon_hspj",
|
"icon": "icon_hspj",
|
||||||
"sicon": "icon_hspj",
|
"sicon": "icon_hspj",
|
||||||
@ -142,7 +142,7 @@
|
|||||||
"weiwang": {
|
"weiwang": {
|
||||||
"id": "weiwang",
|
"id": "weiwang",
|
||||||
"name": "intr_attr_name_16",
|
"name": "intr_attr_name_16",
|
||||||
"undefined": "影响力",
|
"undefined": "影响力提升了周围同伴的信任,可以在影响力系统中提升属性值",
|
||||||
"colour": 4,
|
"colour": 4,
|
||||||
"icon": "icon_weiwang",
|
"icon": "icon_weiwang",
|
||||||
"sicon": "icon_weiwang",
|
"sicon": "icon_weiwang",
|
||||||
@ -152,11 +152,31 @@
|
|||||||
"yuandanyouxi": {
|
"yuandanyouxi": {
|
||||||
"id": "yuandanyouxi",
|
"id": "yuandanyouxi",
|
||||||
"name": "intr_attr_name_17",
|
"name": "intr_attr_name_17",
|
||||||
"undefined": "元旦游戏币",
|
"undefined": "在新年活动中获得的庆典币,可以在机遇礼盒兑换游玩次数",
|
||||||
"colour": 5,
|
"colour": 5,
|
||||||
"icon": "icon_xnjb",
|
"icon": "icon_xnjb",
|
||||||
"sicon": "icon_xnjb",
|
"sicon": "icon_xnjb",
|
||||||
"describe": "intr_attr_describe_17",
|
"describe": "intr_attr_describe_17",
|
||||||
"advancedEffects": "ani_xiangzikuang"
|
"advancedEffects": "ani_xiangzikuang"
|
||||||
|
},
|
||||||
|
"huangqijinbi": {
|
||||||
|
"id": "huangqijinbi",
|
||||||
|
"name": "intr_attr_name_18",
|
||||||
|
"undefined": "在黄旗酒馆活动中获得的庆典币,可以在黄旗招募中兑换招募次数",
|
||||||
|
"colour": 5,
|
||||||
|
"icon": "icon_hqjb",
|
||||||
|
"sicon": "icon_hqjb",
|
||||||
|
"describe": "intr_attr_describe_18",
|
||||||
|
"advancedEffects": "ani_xiangzikuang"
|
||||||
|
},
|
||||||
|
"huangqiduihuan": {
|
||||||
|
"id": "huangqiduihuan",
|
||||||
|
"name": "intr_attr_name_19",
|
||||||
|
"undefined": "在黄旗酒馆活动中获得的兑换票券,可以在神秘兑换中购买商品",
|
||||||
|
"colour": 5,
|
||||||
|
"icon": "icon_hqdhq",
|
||||||
|
"sicon": "icon_hqdhq",
|
||||||
|
"describe": "intr_attr_describe_19",
|
||||||
|
"advancedEffects": "ani_xiangzikuang"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,11 +1,18 @@
|
|||||||
{
|
{
|
||||||
//赛区划分按照周三23:50的时候王者玩家100个一组
|
//赛区划分
|
||||||
//赛区划分时间周三23:50
|
divide: [
|
||||||
divideTime: 258600,
|
{ day: [1, 30], group: 0 },
|
||||||
//挑战时间周一08:00——周六22:00
|
{ day: [31, 60], group: 1 },
|
||||||
|
{ day: [61, 120], group: 2 },
|
||||||
|
{ day: [121, 210], group: 3 },
|
||||||
|
{ day: [211, 99999999], group: 4 },
|
||||||
|
],
|
||||||
|
//赛区划分时间
|
||||||
|
divideTime: 0,
|
||||||
|
//挑战时间
|
||||||
fightTime: [28800, 511200],
|
fightTime: [28800, 511200],
|
||||||
//发奖时间周六22:05
|
//发奖时间
|
||||||
prizeTime: 511500,
|
prizeTime: 598200,
|
||||||
//胜场奖励
|
//胜场奖励
|
||||||
fightWinPrize: [
|
fightWinPrize: [
|
||||||
{ total: 5, prize: [{ a: 'attr', t: 'clsl_sd', n: 1 },{ a: 'item', t: '37', n: 1 }], star: 1 },
|
{ total: 5, prize: [{ a: 'attr', t: 'clsl_sd', n: 1 },{ a: 'item', t: '37', n: 1 }], star: 1 },
|
||||||
@ -32,13 +39,13 @@
|
|||||||
],
|
],
|
||||||
//段位奖励
|
//段位奖励
|
||||||
danPrize: [
|
danPrize: [
|
||||||
{ star: 49, title: "clsl_7", prize: [{ a: 'item', t: '605', n:3 },{ a: 'item', t: '29', n:10 },{ a: 'item', t: '631', n:3 },{ a: 'item', t: '40', n:1 }] },
|
{ star: 49, prize: [{ a: 'item', t: '605', n:3 },{ a: 'item', t: '29', n:10 },{ a: 'item', t: '631', n:3 },{ a: 'item', t: '40', n:1 }] },
|
||||||
{ star: 39, title: "clsl_6", prize: [{ a: 'item', t: '605', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:2 }] },
|
{ star: 39, prize: [{ a: 'item', t: '605', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:2 }] },
|
||||||
{ star: 29, title: "clsl_5", prize: [{ a: 'item', t: '606', n:3 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:1 }] },
|
{ star: 29, prize: [{ a: 'item', t: '606', n:3 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:1 }] },
|
||||||
{ star: 21, title: "clsl_4", prize: [{ a: 'item', t: '606', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:1000 }] },
|
{ star: 21, prize: [{ a: 'item', t: '606', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:1000 }] },
|
||||||
{ star: 13, title: "clsl_3", prize: [{ a: 'item', t: '606', n:1 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:800 }] },
|
{ star: 13, prize: [{ a: 'item', t: '606', n:1 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:800 }] },
|
||||||
{ star: 7, title: "clsl_2", prize: [{ a: 'item', t: '29', n:10 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:600 }] },
|
{ star: 7, prize: [{ a: 'item', t: '29', n:10 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:600 }] },
|
||||||
{ star: 0, title: "clsl_1", prize: [{ a: 'item', t: '29', n:5 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:400 }] }
|
{ star: 0, prize: [{ a: 'item', t: '29', n:5 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:400 }] }
|
||||||
],
|
],
|
||||||
//王者排名邮件信息
|
//王者排名邮件信息
|
||||||
email_rank: {
|
email_rank: {
|
||||||
|
@ -2774,7 +2774,7 @@
|
|||||||
"id": 4003,
|
"id": 4003,
|
||||||
"a": "item",
|
"a": "item",
|
||||||
"t": 28,
|
"t": 28,
|
||||||
"n": 1,
|
"n": 100,
|
||||||
"p": 6
|
"p": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -4505,82 +4505,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"10021": [
|
"10021": [
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4001,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4002,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4003,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4004,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4005,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4007,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4009,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4011,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": 10021,
|
"id": 10021,
|
||||||
"a": "hero",
|
"a": "hero",
|
||||||
"t": 4012,
|
"t": 4012,
|
||||||
"n": 1,
|
"n": 1,
|
||||||
"p": 20
|
"p": 20
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4014,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10021,
|
|
||||||
"a": "hero",
|
|
||||||
"t": 4015,
|
|
||||||
"n": 1,
|
|
||||||
"p": 20
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"20001": [
|
"20001": [
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -915,6 +915,37 @@
|
|||||||
"front": {},
|
"front": {},
|
||||||
"currency": "CNY"
|
"currency": "CNY"
|
||||||
},
|
},
|
||||||
|
"lv10": {
|
||||||
|
"id": "lv10",
|
||||||
|
"money": 0.5,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"a": "hero",
|
||||||
|
"t": "4012",
|
||||||
|
"n": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_lv10",
|
||||||
|
"undefined": "等级豪礼(等级10)",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 1,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
"lv15": {
|
"lv15": {
|
||||||
"id": "lv15",
|
"id": "lv15",
|
||||||
"money": 0.5,
|
"money": 0.5,
|
||||||
@ -6673,5 +6704,205 @@
|
|||||||
"needVip": 0,
|
"needVip": 0,
|
||||||
"front": {},
|
"front": {},
|
||||||
"currency": "CNY"
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_1": {
|
||||||
|
"id": "hqjg_libao_1",
|
||||||
|
"money": 0.5,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_1",
|
||||||
|
"undefined": "黄旗酒馆_1",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_2": {
|
||||||
|
"id": "hqjg_libao_2",
|
||||||
|
"money": 1,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 10
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_2",
|
||||||
|
"undefined": "黄旗酒馆_2",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_3": {
|
||||||
|
"id": "hqjg_libao_3",
|
||||||
|
"money": 6,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_3",
|
||||||
|
"undefined": "黄旗酒馆_3",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_4": {
|
||||||
|
"id": "hqjg_libao_4",
|
||||||
|
"money": 18,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 180
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_4",
|
||||||
|
"undefined": "黄旗酒馆_4",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_5": {
|
||||||
|
"id": "hqjg_libao_5",
|
||||||
|
"money": 30,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 300
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_5",
|
||||||
|
"undefined": "黄旗酒馆_5",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_6": {
|
||||||
|
"id": "hqjg_libao_6",
|
||||||
|
"money": 68,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 680
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_6",
|
||||||
|
"undefined": "黄旗酒馆_6",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_7": {
|
||||||
|
"id": "hqjg_libao_7",
|
||||||
|
"money": 128,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 1280
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_7",
|
||||||
|
"undefined": "黄旗酒馆_7",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_8": {
|
||||||
|
"id": "hqjg_libao_8",
|
||||||
|
"money": 198,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 1980
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_8",
|
||||||
|
"undefined": "黄旗酒馆_8",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_9": {
|
||||||
|
"id": "hqjg_libao_9",
|
||||||
|
"money": 328,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 3280
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_9",
|
||||||
|
"undefined": "黄旗酒馆_9",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
|
},
|
||||||
|
"hqjg_libao_10": {
|
||||||
|
"id": "hqjg_libao_10",
|
||||||
|
"money": 648,
|
||||||
|
"payExp": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "payExp",
|
||||||
|
"n": 6480
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"prize": [],
|
||||||
|
"firstPayPrize": [],
|
||||||
|
"name": "pay_name_hqjg_libao_10",
|
||||||
|
"undefined": "黄旗酒馆_10",
|
||||||
|
"time": -1,
|
||||||
|
"buys": 0,
|
||||||
|
"needVip": 0,
|
||||||
|
"front": {},
|
||||||
|
"currency": "CNY"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -2,12 +2,12 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"name": "playerChatFrame_name_1",
|
"name": "playerChatFrame_name_1",
|
||||||
|
"undefined": "玩家初始默认聊天框",
|
||||||
"img": "lt_dhk1",
|
"img": "lt_dhk1",
|
||||||
"cond": [
|
"cond": [
|
||||||
"lv",
|
"lv",
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"undefined": "进入游戏默认获得",
|
|
||||||
"intr": "playerChatFrame_des_1",
|
"intr": "playerChatFrame_des_1",
|
||||||
"sort": 1,
|
"sort": 1,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -19,12 +19,12 @@
|
|||||||
"2": {
|
"2": {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"name": "playerChatFrame_name_2",
|
"name": "playerChatFrame_name_2",
|
||||||
|
"undefined": "主角等级达到30级获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk3",
|
"img": "lt_dhk3",
|
||||||
"cond": [
|
"cond": [
|
||||||
"lv",
|
"lv",
|
||||||
30
|
30
|
||||||
],
|
],
|
||||||
"undefined": "角色等级达到30级获得",
|
|
||||||
"intr": "playerChatFrame_des_2",
|
"intr": "playerChatFrame_des_2",
|
||||||
"sort": 2,
|
"sort": 2,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -36,12 +36,12 @@
|
|||||||
"3": {
|
"3": {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"name": "playerChatFrame_name_3",
|
"name": "playerChatFrame_name_3",
|
||||||
|
"undefined": "主角等级达到50级获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk4",
|
"img": "lt_dhk4",
|
||||||
"cond": [
|
"cond": [
|
||||||
"lv",
|
"lv",
|
||||||
50
|
50
|
||||||
],
|
],
|
||||||
"undefined": "角色等级达到50级获得",
|
|
||||||
"intr": "playerChatFrame_des_3",
|
"intr": "playerChatFrame_des_3",
|
||||||
"sort": 3,
|
"sort": 3,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -53,12 +53,12 @@
|
|||||||
"4": {
|
"4": {
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"name": "playerChatFrame_name_4",
|
"name": "playerChatFrame_name_4",
|
||||||
|
"undefined": "图鉴数量达到30个获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk5",
|
"img": "lt_dhk5",
|
||||||
"cond": [
|
"cond": [
|
||||||
"tujianLv",
|
"tujianLv",
|
||||||
7
|
7
|
||||||
],
|
],
|
||||||
"undefined": "图鉴数量达到30个获得",
|
|
||||||
"intr": "playerChatFrame_des_4",
|
"intr": "playerChatFrame_des_4",
|
||||||
"sort": 5,
|
"sort": 5,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -70,12 +70,12 @@
|
|||||||
"5": {
|
"5": {
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"name": "playerChatFrame_name_5",
|
"name": "playerChatFrame_name_5",
|
||||||
|
"undefined": "VIP5获得,解锁后攻击加成+1%",
|
||||||
"img": "lt_dhk7",
|
"img": "lt_dhk7",
|
||||||
"cond": [
|
"cond": [
|
||||||
"vip",
|
"vip",
|
||||||
5
|
5
|
||||||
],
|
],
|
||||||
"undefined": "VIP5获得",
|
|
||||||
"intr": "playerChatFrame_des_5",
|
"intr": "playerChatFrame_des_5",
|
||||||
"sort": 4,
|
"sort": 4,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -87,12 +87,12 @@
|
|||||||
"6": {
|
"6": {
|
||||||
"id": 6,
|
"id": 6,
|
||||||
"name": "playerChatFrame_name_6",
|
"name": "playerChatFrame_name_6",
|
||||||
|
"undefined": "跨服势力战最高品质据点第一势力成员,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||||
"img": "lt_dhk11",
|
"img": "lt_dhk11",
|
||||||
"cond": [
|
"cond": [
|
||||||
"time",
|
"time",
|
||||||
604800
|
604800
|
||||||
],
|
],
|
||||||
"undefined": "跨服势力战最高品质据点第一势力成员",
|
|
||||||
"intr": "playerChatFrame_des_6",
|
"intr": "playerChatFrame_des_6",
|
||||||
"sort": 6,
|
"sort": 6,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -105,12 +105,12 @@
|
|||||||
"7": {
|
"7": {
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"name": "playerChatFrame_name_7",
|
"name": "playerChatFrame_name_7",
|
||||||
|
"undefined": "名望等级达到七阶获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk13",
|
"img": "lt_dhk13",
|
||||||
"cond": [
|
"cond": [
|
||||||
"renown",
|
"renown",
|
||||||
61
|
61
|
||||||
],
|
],
|
||||||
"undefined": "名望等级达到七阶获得",
|
|
||||||
"intr": "playerChatFrame_des_7",
|
"intr": "playerChatFrame_des_7",
|
||||||
"sort": 7,
|
"sort": 7,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -122,12 +122,12 @@
|
|||||||
"8": {
|
"8": {
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"name": "playerChatFrame_name_8",
|
"name": "playerChatFrame_name_8",
|
||||||
|
"undefined": "圣诞庆典活动获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk14",
|
"img": "lt_dhk14",
|
||||||
"cond": [
|
"cond": [
|
||||||
"time",
|
"time",
|
||||||
-1
|
-1
|
||||||
],
|
],
|
||||||
"undefined": "圣诞庆典获得",
|
|
||||||
"intr": "playerChatFrame_des_8",
|
"intr": "playerChatFrame_des_8",
|
||||||
"sort": 8,
|
"sort": 8,
|
||||||
"buff": {
|
"buff": {
|
||||||
@ -139,12 +139,12 @@
|
|||||||
"9": {
|
"9": {
|
||||||
"id": 9,
|
"id": 9,
|
||||||
"name": "playerChatFrame_name_9",
|
"name": "playerChatFrame_name_9",
|
||||||
|
"undefined": "新年庆典活动获得,解锁后防御加成+1%",
|
||||||
"img": "lt_dhk15",
|
"img": "lt_dhk15",
|
||||||
"cond": [
|
"cond": [
|
||||||
"time",
|
"time",
|
||||||
-1
|
-1
|
||||||
],
|
],
|
||||||
"undefined": "新年庆典获得",
|
|
||||||
"intr": "playerChatFrame_des_9",
|
"intr": "playerChatFrame_des_9",
|
||||||
"sort": 9,
|
"sort": 9,
|
||||||
"buff": {
|
"buff": {
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"id": 1,
|
"id": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": "playerModel_name_1",
|
"name": "playerModel_name_1",
|
||||||
|
"undefined": "主角初始默认的男形象",
|
||||||
"head": 10001,
|
"head": 10001,
|
||||||
"img": "zhu_10001",
|
"img": "zhu_10001",
|
||||||
"cond": [
|
"cond": [
|
||||||
@ -20,6 +21,7 @@
|
|||||||
"id": 2,
|
"id": 2,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": "playerModel_name_2",
|
"name": "playerModel_name_2",
|
||||||
|
"undefined": "主角初始默认的女形象",
|
||||||
"head": 10002,
|
"head": 10002,
|
||||||
"img": "zhu_10002",
|
"img": "zhu_10002",
|
||||||
"cond": [
|
"cond": [
|
||||||
@ -37,6 +39,7 @@
|
|||||||
"id": 3,
|
"id": 3,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": "playerModel_name_3",
|
"name": "playerModel_name_3",
|
||||||
|
"undefined": "圣诞庆典活动获得,解锁后防御加成+2%",
|
||||||
"head": 100011,
|
"head": 100011,
|
||||||
"img": 100011,
|
"img": 100011,
|
||||||
"cond": [
|
"cond": [
|
||||||
@ -56,6 +59,7 @@
|
|||||||
"id": 4,
|
"id": 4,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": "playerModel_name_4",
|
"name": "playerModel_name_4",
|
||||||
|
"undefined": "圣诞庆典活动获得,解锁后攻击加成+2%",
|
||||||
"head": 100021,
|
"head": 100021,
|
||||||
"img": 100021,
|
"img": 100021,
|
||||||
"cond": [
|
"cond": [
|
||||||
|
@ -3,360 +3,600 @@
|
|||||||
"id": 1,
|
"id": 1,
|
||||||
"renownlevel": 1,
|
"renownlevel": 1,
|
||||||
"maxlevel": 250,
|
"maxlevel": 250,
|
||||||
"cost": 5,
|
"cost": [
|
||||||
"atk": 2,
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
"def": 1,
|
"def": 1,
|
||||||
"hp": 8
|
"hp": 4
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"renownlevel": 2,
|
"renownlevel": 2,
|
||||||
"maxlevel": 500,
|
"maxlevel": 750,
|
||||||
"cost": 6,
|
"cost": [
|
||||||
"atk": 2,
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
"def": 1,
|
"def": 1,
|
||||||
"hp": 9
|
"hp": 4
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"renownlevel": 3,
|
"renownlevel": 3,
|
||||||
"maxlevel": 750,
|
"maxlevel": 1500,
|
||||||
"cost": 7,
|
"cost": [
|
||||||
"atk": 2,
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
"def": 1,
|
"def": 1,
|
||||||
"hp": 10
|
"hp": 4
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"renownlevel": 4,
|
"renownlevel": 4,
|
||||||
"maxlevel": 1000,
|
"maxlevel": 2500,
|
||||||
"cost": 9,
|
"cost": [
|
||||||
"atk": 4,
|
{
|
||||||
"def": 2,
|
"a": "attr",
|
||||||
"hp": 11
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"renownlevel": 5,
|
"renownlevel": 5,
|
||||||
"maxlevel": 1250,
|
"maxlevel": 3750,
|
||||||
"cost": 11,
|
"cost": [
|
||||||
"atk": 4,
|
{
|
||||||
"def": 2,
|
"a": "attr",
|
||||||
"hp": 12
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"id": 6,
|
"id": 6,
|
||||||
"renownlevel": 6,
|
"renownlevel": 6,
|
||||||
"maxlevel": 1500,
|
"maxlevel": 5250,
|
||||||
"cost": 13,
|
"cost": [
|
||||||
"atk": 4,
|
{
|
||||||
"def": 2,
|
"a": "attr",
|
||||||
"hp": 13
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"renownlevel": 7,
|
"renownlevel": 7,
|
||||||
"maxlevel": 1750,
|
"maxlevel": 7000,
|
||||||
"cost": 15,
|
"cost": [
|
||||||
"atk": 6,
|
{
|
||||||
"def": 3,
|
"a": "attr",
|
||||||
"hp": 14
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"renownlevel": 8,
|
"renownlevel": 8,
|
||||||
"maxlevel": 2000,
|
"maxlevel": 9000,
|
||||||
"cost": 17,
|
"cost": [
|
||||||
"atk": 6,
|
{
|
||||||
"def": 3,
|
"a": "attr",
|
||||||
"hp": 15
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"id": 9,
|
"id": 9,
|
||||||
"renownlevel": 9,
|
"renownlevel": 9,
|
||||||
"maxlevel": 2500,
|
"maxlevel": 11500,
|
||||||
"cost": 19,
|
"cost": [
|
||||||
"atk": 6,
|
{
|
||||||
"def": 3,
|
"a": "attr",
|
||||||
"hp": 16
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"id": 10,
|
"id": 10,
|
||||||
"renownlevel": 10,
|
"renownlevel": 10,
|
||||||
"maxlevel": 3000,
|
"maxlevel": 14500,
|
||||||
"cost": 21,
|
"cost": [
|
||||||
"atk": 8,
|
{
|
||||||
"def": 4,
|
"a": "attr",
|
||||||
"hp": 17
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 4
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"id": 11,
|
"id": 11,
|
||||||
"renownlevel": 11,
|
"renownlevel": 11,
|
||||||
"maxlevel": 3500,
|
"maxlevel": 18000,
|
||||||
"cost": 23,
|
"cost": [
|
||||||
"atk": 8,
|
{
|
||||||
"def": 4,
|
"a": "attr",
|
||||||
"hp": 18
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 5
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"id": 12,
|
"id": 12,
|
||||||
"renownlevel": 12,
|
"renownlevel": 12,
|
||||||
"maxlevel": 4000,
|
"maxlevel": 22000,
|
||||||
"cost": 25,
|
"cost": [
|
||||||
"atk": 8,
|
{
|
||||||
"def": 4,
|
"a": "attr",
|
||||||
"hp": 19
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 5
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"id": 13,
|
"id": 13,
|
||||||
"renownlevel": 13,
|
"renownlevel": 13,
|
||||||
"maxlevel": 4500,
|
"maxlevel": 26500,
|
||||||
"cost": 27,
|
"cost": [
|
||||||
"atk": 10,
|
{
|
||||||
"def": 5,
|
"a": "attr",
|
||||||
"hp": 20
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 5
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"id": 14,
|
"id": 14,
|
||||||
"renownlevel": 14,
|
"renownlevel": 14,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 31500,
|
||||||
"cost": 30,
|
"cost": [
|
||||||
"atk": 10,
|
{
|
||||||
"def": 5,
|
"a": "attr",
|
||||||
"hp": 21
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 5
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"id": 15,
|
"id": 15,
|
||||||
"renownlevel": 15,
|
"renownlevel": 15,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 36500,
|
||||||
"cost": 33,
|
"cost": [
|
||||||
"atk": 10,
|
{
|
||||||
"def": 5,
|
"a": "attr",
|
||||||
"hp": 21
|
"t": "weiwang",
|
||||||
|
"n": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.2,
|
||||||
|
"def": 1,
|
||||||
|
"hp": 5
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"id": 16,
|
"id": 16,
|
||||||
"renownlevel": 16,
|
"renownlevel": 16,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 41500,
|
||||||
"cost": 36,
|
"cost": [
|
||||||
"atk": 12,
|
{
|
||||||
"def": 6,
|
"a": "attr",
|
||||||
"hp": 22
|
"t": "weiwang",
|
||||||
|
"n": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 6
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"id": 17,
|
"id": 17,
|
||||||
"renownlevel": 17,
|
"renownlevel": 17,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 46500,
|
||||||
"cost": 39,
|
"cost": [
|
||||||
"atk": 12,
|
{
|
||||||
"def": 6,
|
"a": "attr",
|
||||||
"hp": 22
|
"t": "weiwang",
|
||||||
|
"n": 9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 6
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"id": 18,
|
"id": 18,
|
||||||
"renownlevel": 18,
|
"renownlevel": 18,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 51500,
|
||||||
"cost": 42,
|
"cost": [
|
||||||
"atk": 12,
|
{
|
||||||
"def": 6,
|
"a": "attr",
|
||||||
"hp": 22
|
"t": "weiwang",
|
||||||
|
"n": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 6
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"id": 19,
|
"id": 19,
|
||||||
"renownlevel": 19,
|
"renownlevel": 19,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 56500,
|
||||||
"cost": 45,
|
"cost": [
|
||||||
"atk": 14,
|
{
|
||||||
"def": 7,
|
"a": "attr",
|
||||||
"hp": 23
|
"t": "weiwang",
|
||||||
|
"n": 17
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 6
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"id": 20,
|
"id": 20,
|
||||||
"renownlevel": 20,
|
"renownlevel": 20,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 61500,
|
||||||
"cost": 48,
|
"cost": [
|
||||||
"atk": 14,
|
{
|
||||||
"def": 7,
|
"a": "attr",
|
||||||
"hp": 23
|
"t": "weiwang",
|
||||||
|
"n": 21
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 6
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"id": 21,
|
"id": 21,
|
||||||
"renownlevel": 21,
|
"renownlevel": 21,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 66500,
|
||||||
"cost": 51,
|
"cost": [
|
||||||
"atk": 14,
|
{
|
||||||
"def": 7,
|
"a": "attr",
|
||||||
"hp": 23
|
"t": "weiwang",
|
||||||
|
"n": 23
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 7
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"id": 22,
|
"id": 22,
|
||||||
"renownlevel": 22,
|
"renownlevel": 22,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 71500,
|
||||||
"cost": 54,
|
"cost": [
|
||||||
"atk": 14,
|
{
|
||||||
"def": 7,
|
"a": "attr",
|
||||||
"hp": 23
|
"t": "weiwang",
|
||||||
|
"n": 25
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 7
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"id": 23,
|
"id": 23,
|
||||||
"renownlevel": 23,
|
"renownlevel": 23,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 76500,
|
||||||
"cost": 57,
|
"cost": [
|
||||||
"atk": 16,
|
{
|
||||||
"def": 8,
|
"a": "attr",
|
||||||
"hp": 24
|
"t": "weiwang",
|
||||||
|
"n": 27
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 7
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"id": 24,
|
"id": 24,
|
||||||
"renownlevel": 24,
|
"renownlevel": 24,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 81500,
|
||||||
"cost": 60,
|
"cost": [
|
||||||
"atk": 16,
|
{
|
||||||
"def": 8,
|
"a": "attr",
|
||||||
"hp": 24
|
"t": "weiwang",
|
||||||
|
"n": 29
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 7
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"id": 25,
|
"id": 25,
|
||||||
"renownlevel": 25,
|
"renownlevel": 25,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 86500,
|
||||||
"cost": 63,
|
"cost": [
|
||||||
"atk": 16,
|
{
|
||||||
"def": 8,
|
"a": "attr",
|
||||||
"hp": 24
|
"t": "weiwang",
|
||||||
|
"n": 30
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 7
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"id": 26,
|
"id": 26,
|
||||||
"renownlevel": 26,
|
"renownlevel": 26,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 91500,
|
||||||
"cost": 66,
|
"cost": [
|
||||||
"atk": 16,
|
{
|
||||||
"def": 8,
|
"a": "attr",
|
||||||
"hp": 24
|
"t": "weiwang",
|
||||||
|
"n": 32
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"id": 27,
|
"id": 27,
|
||||||
"renownlevel": 27,
|
"renownlevel": 27,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 96500,
|
||||||
"cost": 69,
|
"cost": [
|
||||||
"atk": 16,
|
{
|
||||||
"def": 8,
|
"a": "attr",
|
||||||
"hp": 24
|
"t": "weiwang",
|
||||||
|
"n": 34
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"id": 28,
|
"id": 28,
|
||||||
"renownlevel": 28,
|
"renownlevel": 28,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 101500,
|
||||||
"cost": 72,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 9,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 36
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"id": 29,
|
"id": 29,
|
||||||
"renownlevel": 29,
|
"renownlevel": 29,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 106500,
|
||||||
"cost": 75,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 9,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 38
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"id": 30,
|
"id": 30,
|
||||||
"renownlevel": 30,
|
"renownlevel": 30,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 111500,
|
||||||
"cost": 78,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 9,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 40
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"id": 31,
|
"id": 31,
|
||||||
"renownlevel": 31,
|
"renownlevel": 31,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 116500,
|
||||||
"cost": 81,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 9,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 42
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"id": 32,
|
"id": 32,
|
||||||
"renownlevel": 32,
|
"renownlevel": 32,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 121500,
|
||||||
"cost": 84,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 9,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 44
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"id": 33,
|
"id": 33,
|
||||||
"renownlevel": 33,
|
"renownlevel": 33,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 126500,
|
||||||
"cost": 87,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 46
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"id": 34,
|
"id": 34,
|
||||||
"renownlevel": 34,
|
"renownlevel": 34,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 131500,
|
||||||
"cost": 90,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 48
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"id": 35,
|
"id": 35,
|
||||||
"renownlevel": 35,
|
"renownlevel": 35,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 136500,
|
||||||
"cost": 93,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 50
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"id": 36,
|
"id": 36,
|
||||||
"renownlevel": 36,
|
"renownlevel": 36,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 141500,
|
||||||
"cost": 97,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 52
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"id": 37,
|
"id": 37,
|
||||||
"renownlevel": 37,
|
"renownlevel": 37,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 146500,
|
||||||
"cost": 101,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 54
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"id": 38,
|
"id": 38,
|
||||||
"renownlevel": 38,
|
"renownlevel": 38,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 151500,
|
||||||
"cost": 105,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 56
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"39": {
|
"39": {
|
||||||
"id": 39,
|
"id": 39,
|
||||||
"renownlevel": 39,
|
"renownlevel": 39,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 156500,
|
||||||
"cost": 109,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 58
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
},
|
},
|
||||||
"40": {
|
"40": {
|
||||||
"id": 40,
|
"id": 40,
|
||||||
"renownlevel": 40,
|
"renownlevel": 40,
|
||||||
"maxlevel": 5000,
|
"maxlevel": 161500,
|
||||||
"cost": 113,
|
"cost": [
|
||||||
"atk": 18,
|
{
|
||||||
"def": 10,
|
"a": "attr",
|
||||||
"hp": 25
|
"t": "weiwang",
|
||||||
|
"n": 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"atk": 1.4,
|
||||||
|
"def": 1.2,
|
||||||
|
"hp": 8
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@ -388,10 +388,10 @@
|
|||||||
"type": 5,
|
"type": 5,
|
||||||
"typeName": "tuisonglibao_name_1",
|
"typeName": "tuisonglibao_name_1",
|
||||||
"num": [
|
"num": [
|
||||||
15
|
10
|
||||||
],
|
],
|
||||||
"payId": [
|
"payId": [
|
||||||
"lv15"
|
"lv10"
|
||||||
],
|
],
|
||||||
"time": 10800,
|
"time": 10800,
|
||||||
"displayCD": 10800,
|
"displayCD": 10800,
|
||||||
|
@ -14,9 +14,10 @@
|
|||||||
"n": 10000
|
"n": 10000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 3,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_1",
|
"intr": "intr_xuanshangrenwu_intr_1",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
@ -33,9 +34,10 @@
|
|||||||
"n": 80
|
"n": 80
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 4,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_2",
|
"intr": "intr_xuanshangrenwu_intr_2",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
@ -54,7 +56,8 @@
|
|||||||
],
|
],
|
||||||
"p": 5,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_3",
|
"intr": "intr_xuanshangrenwu_intr_3",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"id": 4,
|
"id": 4,
|
||||||
@ -71,9 +74,10 @@
|
|||||||
"n": 30
|
"n": 30
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 6,
|
"p": 1,
|
||||||
"intr": "intr_xuanshangrenwu_intr_4",
|
"intr": "intr_xuanshangrenwu_intr_4",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"id": 5,
|
"id": 5,
|
||||||
@ -90,9 +94,10 @@
|
|||||||
"n": 20000
|
"n": 20000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 7,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_5",
|
"intr": "intr_xuanshangrenwu_intr_5",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"id": 6,
|
"id": 6,
|
||||||
@ -109,9 +114,10 @@
|
|||||||
"n": 60
|
"n": 60
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 8,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_4",
|
"intr": "intr_xuanshangrenwu_intr_4",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"id": 7,
|
"id": 7,
|
||||||
@ -128,9 +134,10 @@
|
|||||||
"n": 20000
|
"n": 20000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 9,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_5",
|
"intr": "intr_xuanshangrenwu_intr_5",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"id": 8,
|
"id": 8,
|
||||||
@ -147,9 +154,10 @@
|
|||||||
"n": 40000
|
"n": 40000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 10,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_6",
|
"intr": "intr_xuanshangrenwu_intr_6",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"id": 9,
|
"id": 9,
|
||||||
@ -166,9 +174,10 @@
|
|||||||
"n": 110
|
"n": 110
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 11,
|
"p": 1,
|
||||||
"intr": "intr_xuanshangrenwu_intr_7",
|
"intr": "intr_xuanshangrenwu_intr_7",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"id": 10,
|
"id": 10,
|
||||||
@ -185,9 +194,10 @@
|
|||||||
"n": 30000
|
"n": 30000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 12,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_8",
|
"intr": "intr_xuanshangrenwu_intr_8",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"id": 11,
|
"id": 11,
|
||||||
@ -204,9 +214,10 @@
|
|||||||
"n": 30000
|
"n": 30000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 13,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_6",
|
"intr": "intr_xuanshangrenwu_intr_6",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"id": 12,
|
"id": 12,
|
||||||
@ -223,9 +234,10 @@
|
|||||||
"n": 140
|
"n": 140
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 14,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_7",
|
"intr": "intr_xuanshangrenwu_intr_7",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"id": 13,
|
"id": 13,
|
||||||
@ -242,9 +254,10 @@
|
|||||||
"n": 60000
|
"n": 60000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 15,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_8",
|
"intr": "intr_xuanshangrenwu_intr_8",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"id": 14,
|
"id": 14,
|
||||||
@ -261,9 +274,10 @@
|
|||||||
"n": 40000
|
"n": 40000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 16,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_9",
|
"intr": "intr_xuanshangrenwu_intr_9",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"id": 15,
|
"id": 15,
|
||||||
@ -280,9 +294,10 @@
|
|||||||
"n": 90
|
"n": 90
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 17,
|
"p": 2,
|
||||||
"intr": "intr_xuanshangrenwu_intr_10",
|
"intr": "intr_xuanshangrenwu_intr_10",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"id": 16,
|
"id": 16,
|
||||||
@ -299,9 +314,10 @@
|
|||||||
"n": 40000
|
"n": 40000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 18,
|
"p": 4,
|
||||||
"intr": "intr_xuanshangrenwu_intr_8",
|
"intr": "intr_xuanshangrenwu_intr_8",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"id": 17,
|
"id": 17,
|
||||||
@ -318,9 +334,10 @@
|
|||||||
"n": 50000
|
"n": 50000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 19,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_9",
|
"intr": "intr_xuanshangrenwu_intr_9",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"id": 18,
|
"id": 18,
|
||||||
@ -337,9 +354,10 @@
|
|||||||
"n": 120
|
"n": 120
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 20,
|
"p": 1,
|
||||||
"intr": "intr_xuanshangrenwu_intr_10",
|
"intr": "intr_xuanshangrenwu_intr_10",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"id": 19,
|
"id": 19,
|
||||||
@ -356,9 +374,10 @@
|
|||||||
"n": 80000
|
"n": 80000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 21,
|
"p": 4,
|
||||||
"intr": "intr_xuanshangrenwu_intr_11",
|
"intr": "intr_xuanshangrenwu_intr_11",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"id": 20,
|
"id": 20,
|
||||||
@ -375,9 +394,10 @@
|
|||||||
"n": 170
|
"n": 170
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 22,
|
"p": 4,
|
||||||
"intr": "intr_xuanshangrenwu_intr_12",
|
"intr": "intr_xuanshangrenwu_intr_12",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"id": 21,
|
"id": 21,
|
||||||
@ -394,9 +414,10 @@
|
|||||||
"n": 100000
|
"n": 100000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 23,
|
"p": 3,
|
||||||
"intr": "intr_xuanshangrenwu_intr_11",
|
"intr": "intr_xuanshangrenwu_intr_11",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"id": 22,
|
"id": 22,
|
||||||
@ -413,9 +434,10 @@
|
|||||||
"n": 200
|
"n": 200
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 24,
|
"p": 2,
|
||||||
"intr": "intr_xuanshangrenwu_intr_12",
|
"intr": "intr_xuanshangrenwu_intr_12",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"id": 23,
|
"id": 23,
|
||||||
@ -432,9 +454,10 @@
|
|||||||
"n": 150
|
"n": 150
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 25,
|
"p": 1,
|
||||||
"intr": "intr_xuanshangrenwu_intr_13",
|
"intr": "intr_xuanshangrenwu_intr_13",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"id": 24,
|
"id": 24,
|
||||||
@ -451,9 +474,10 @@
|
|||||||
"n": 50000
|
"n": 50000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 26,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_14",
|
"intr": "intr_xuanshangrenwu_intr_14",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"id": 25,
|
"id": 25,
|
||||||
@ -470,9 +494,10 @@
|
|||||||
"n": 60000
|
"n": 60000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 27,
|
"p": 2,
|
||||||
"intr": "intr_xuanshangrenwu_intr_15",
|
"intr": "intr_xuanshangrenwu_intr_15",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"id": 26,
|
"id": 26,
|
||||||
@ -489,9 +514,10 @@
|
|||||||
"n": 60000
|
"n": 60000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 28,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_14",
|
"intr": "intr_xuanshangrenwu_intr_14",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"id": 27,
|
"id": 27,
|
||||||
@ -508,9 +534,10 @@
|
|||||||
"n": 75000
|
"n": 75000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 29,
|
"p": 5,
|
||||||
"intr": "intr_xuanshangrenwu_intr_15",
|
"intr": "intr_xuanshangrenwu_intr_15",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"id": 28,
|
"id": 28,
|
||||||
@ -527,9 +554,10 @@
|
|||||||
"n": 180
|
"n": 180
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 30,
|
"p": 1,
|
||||||
"intr": "intr_xuanshangrenwu_intr_16",
|
"intr": "intr_xuanshangrenwu_intr_16",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 3
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"id": 29,
|
"id": 29,
|
||||||
@ -546,9 +574,10 @@
|
|||||||
"n": 230
|
"n": 230
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 31,
|
"p": 2,
|
||||||
"intr": "intr_xuanshangrenwu_intr_17",
|
"intr": "intr_xuanshangrenwu_intr_17",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"id": 30,
|
"id": 30,
|
||||||
@ -565,8 +594,9 @@
|
|||||||
"n": 120000
|
"n": 120000
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"p": 32,
|
"p": 4,
|
||||||
"intr": "intr_xuanshangrenwu_intr_18",
|
"intr": "intr_xuanshangrenwu_intr_18",
|
||||||
"img": "icon_jinbi"
|
"img": "icon_jinbi",
|
||||||
|
"appearNum": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -124,9 +124,9 @@ type gc_clsl_dan = k_v<{
|
|||||||
/** 机器人 */
|
/** 机器人 */
|
||||||
'npc': number,
|
'npc': number,
|
||||||
/** 随机机器人概率*/
|
/** 随机机器人概率*/
|
||||||
'pro':number
|
'pro': number
|
||||||
/** 对手范围 */
|
/** 对手范围 */
|
||||||
'fighter':number[]
|
'fighter': number[]
|
||||||
}>;
|
}>;
|
||||||
|
|
||||||
type gc_com = k_v<{
|
type gc_com = k_v<{
|
||||||
@ -1797,6 +1797,28 @@ type gc_push_gift = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type gc_hero_skin = {
|
||||||
|
[k: string]: {
|
||||||
|
/**皮肤id*/
|
||||||
|
id: number
|
||||||
|
/**干部id*/
|
||||||
|
heroid: number
|
||||||
|
/**皮肤品质*/
|
||||||
|
colour: number
|
||||||
|
/**摸到重复时转换*/
|
||||||
|
zhuanhuan: atn[]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type gc_hero_skin_lv = {
|
||||||
|
[colour: string]: {
|
||||||
|
[lv: string]: {
|
||||||
|
buff: { [k: string]: number }
|
||||||
|
need: { a: string, t: string, n: number }[];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type gcType = {
|
type gcType = {
|
||||||
[key: string]: any
|
[key: string]: any
|
||||||
armyattr: gc_armyattr
|
armyattr: gc_armyattr
|
||||||
@ -1946,7 +1968,8 @@ type gcType = {
|
|||||||
kfcb_prize: gc_kfcb_prize
|
kfcb_prize: gc_kfcb_prize
|
||||||
yuyuemail: gc_yuyuemail
|
yuyuemail: gc_yuyuemail
|
||||||
tuisonglibao: gc_push_gift
|
tuisonglibao: gc_push_gift
|
||||||
|
heroSkin: gc_hero_skin
|
||||||
|
heroSkinLv: gc_hero_skin_lv
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1957,4 +1980,3 @@ declare global {
|
|||||||
export function initGcType() {
|
export function initGcType() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -239,6 +239,9 @@ class Lng {
|
|||||||
hero_17 = "hero_17";
|
hero_17 = "hero_17";
|
||||||
hero_18 = "hero_18";
|
hero_18 = "hero_18";
|
||||||
hero_19 = "hero_19";
|
hero_19 = "hero_19";
|
||||||
|
hero_20 = "hero_20";
|
||||||
|
hero_21 = "hero_21";
|
||||||
|
hero_22 = "hero_22";
|
||||||
|
|
||||||
item_1 = "item_1";
|
item_1 = "item_1";
|
||||||
item_2 = "item_2";
|
item_2 = "item_2";
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
import {ResSyncBtn} from '../shared/protocols/PtlSyncBtn';
|
import { ResSyncBtn } from '../shared/protocols/PtlSyncBtn';
|
||||||
import {payLog} from '../shared/protocols/pay/PtlGetList';
|
import { payLog } from '../shared/protocols/pay/PtlGetList';
|
||||||
import {rankType} from '../shared/protocols/rank/PtlOpen';
|
import { rankType } from '../shared/protocols/rank/PtlOpen';
|
||||||
import {CollectionChatLog} from './collection_chatlog';
|
import { CollectionChatLog } from './collection_chatlog';
|
||||||
import {CollectionActionLog} from './collection_actionLog';
|
import { CollectionActionLog } from './collection_actionLog';
|
||||||
import {CollectionCardlog} from './collection_cardlog';
|
import { CollectionCardlog } from './collection_cardlog';
|
||||||
import {CollectionCllsCrossGroup, CollectionCllsCrossUser} from './collection_clsl';
|
import { CollectionCllsCrossGroup, CollectionCllsCrossUser } from './collection_clsl';
|
||||||
import {CollectionCrosskv} from './collection_crosskv';
|
import { CollectionCrosskv } from './collection_crosskv';
|
||||||
import {CollectionDayPay} from './collection_dayPay';
|
import { CollectionDayPay } from './collection_dayPay';
|
||||||
import {CollectionDxlt} from './collection_dxlt';
|
import { CollectionDxlt } from './collection_dxlt';
|
||||||
import {CollectionEmail} from './collection_email';
|
import { CollectionEmail } from './collection_email';
|
||||||
import {CollectionEquip} from './collection_equip';
|
import { CollectionEquip } from './collection_equip';
|
||||||
import {CollectionEvent} from './collection_event';
|
import { CollectionEvent } from './collection_event';
|
||||||
import {CollectionFriend} from './collection_friend';
|
import { CollectionFriend } from './collection_friend';
|
||||||
import {CollectionGanHai} from './collection_ganhai';
|
import { CollectionGanHai } from './collection_ganhai';
|
||||||
import {CollectionGBTX} from './collection_gbtx';
|
import { CollectionGBTX } from './collection_gbtx';
|
||||||
import {CollectionGongHui, CollectionGongHuiFb, CollectionGongHuiUser} from './collection_gonghui';
|
import { CollectionGongHui, CollectionGongHuiFb, CollectionGongHuiUser } from './collection_gonghui';
|
||||||
import {CollectionHbzbUserCross, CollectionHbzbUserZbs} from './collection_hbzb_user_cross';
|
import { CollectionHbzbUserCross, CollectionHbzbUserZbs } from './collection_hbzb_user_cross';
|
||||||
import {CollectionHero} from './collection_hero';
|
import { CollectionHero } from './collection_hero';
|
||||||
import {CollectionItem} from './collection_item';
|
import { CollectionItem } from './collection_item';
|
||||||
import {CollectionJJC} from './collection_jjc';
|
import { CollectionJJC } from './collection_jjc';
|
||||||
import {CollectionApiWeiXiuChang} from './collection_weixiuchang';
|
import { CollectionApiWeiXiuChang } from './collection_weixiuchang';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CollectionKbzzApplyUser,
|
CollectionKbzzApplyUser,
|
||||||
@ -27,39 +27,39 @@ import {
|
|||||||
CollectionKbzzGroupTroop,
|
CollectionKbzzGroupTroop,
|
||||||
CollectionKbzzGroupUser
|
CollectionKbzzGroupUser
|
||||||
} from './collection_kbzz';
|
} from './collection_kbzz';
|
||||||
import {CollectionKuangDong} from './collection_kuangdong';
|
import { CollectionKuangDong } from './collection_kuangdong';
|
||||||
import {CollectionLingZhuLaiXi} from './collection_lingzhulaixi';
|
import { CollectionLingZhuLaiXi } from './collection_lingzhulaixi';
|
||||||
import {CollectionMingdao} from './collection_mingdao';
|
import { CollectionMingdao } from './collection_mingdao';
|
||||||
import {CollectionPlayerInfo} from './collection_palyerInfo';
|
import { CollectionPlayerInfo } from './collection_palyerInfo';
|
||||||
import {CollectionPata} from './collection_pata';
|
import { CollectionPata } from './collection_pata';
|
||||||
import {CollectionPeiJian} from './collection_peijian';
|
import { CollectionPeiJian } from './collection_peijian';
|
||||||
import {CollectionPlayAttr} from './collection_playattr';
|
import { CollectionPlayAttr } from './collection_playattr';
|
||||||
import {CollectionRank, CollectionRankList} from './collection_rank';
|
import { CollectionRank, CollectionRankList } from './collection_rank';
|
||||||
import {CollectionRecord} from './collection_record';
|
import { CollectionRecord } from './collection_record';
|
||||||
import {CollectionSchedler} from './collection_scheduler';
|
import { CollectionSchedler } from './collection_scheduler';
|
||||||
import {CollectionShiwu} from './collection_shiwu';
|
import { CollectionShiwu } from './collection_shiwu';
|
||||||
import {CollectionSlzdGh, CollectionSlzdUser, CollectionSlzdStash} from './collection_slzd';
|
import { CollectionSlzdGh, CollectionSlzdUser, CollectionSlzdStash } from './collection_slzd';
|
||||||
import {CollectionTanXian} from './collection_tanxian';
|
import { CollectionTanXian } from './collection_tanxian';
|
||||||
import {CollectionTask} from './collection_task';
|
import { CollectionTask } from './collection_task';
|
||||||
import {CollectionUser} from './collection_user';
|
import { CollectionUser } from './collection_user';
|
||||||
import {CollectionWanted} from './collection_wanted';
|
import { CollectionWanted } from './collection_wanted';
|
||||||
import {CollectionWjjl} from './collection_wjjl';
|
import { CollectionWjjl } from './collection_wjjl';
|
||||||
import {CollectionWzryCross} from './collection_wzry_user_cross';
|
import { CollectionWzryCross } from './collection_wzry_user_cross';
|
||||||
import {CollectionWzryCrossFight} from './collection_wzryfight';
|
import { CollectionWzryCrossFight } from './collection_wzryfight';
|
||||||
import {CollectionWzryCrossFightLOG} from './collection_wzryfightlOG';
|
import { CollectionWzryCrossFightLOG } from './collection_wzryfightlOG';
|
||||||
import {CollectionWzryCrossWiner} from './collection_wzrywiner';
|
import { CollectionWzryCrossWiner } from './collection_wzrywiner';
|
||||||
import {CollectionXstask} from './collection_xstask';
|
import { CollectionXstask } from './collection_xstask';
|
||||||
import {CollectionZhanLing} from './collection_zhanling';
|
import { CollectionZhanLing } from './collection_zhanling';
|
||||||
import {CollectionHdinfo} from './collection_hdinfo';
|
import { CollectionHdinfo } from './collection_hdinfo';
|
||||||
import {CollectionGiftLog} from "./collection_giftLog";
|
import { CollectionGiftLog } from "./collection_giftLog";
|
||||||
import {CollectionLoginLog} from "./collection_loginLog";
|
import { CollectionLoginLog } from "./collection_loginLog";
|
||||||
import {CollectionPayLogNew} from "./collection_payLogNew";
|
import { CollectionPayLogNew } from "./collection_payLogNew";
|
||||||
import {CollectionApiCount} from "./collection_apiCount";
|
import { CollectionApiCount } from "./collection_apiCount";
|
||||||
import {CollectionPlayerBehavior} from "./collection_player_behavior";
|
import { CollectionPlayerBehavior } from "./collection_player_behavior";
|
||||||
import {CollectionRmbuse} from "./collection_rmbuse";
|
import { CollectionRmbuse } from "./collection_rmbuse";
|
||||||
import {CollectionFightLog} from "./collection_fightLog";
|
import { CollectionFightLog } from "./collection_fightLog";
|
||||||
import {CollectionShop} from "./collection_shop";
|
import { CollectionShop } from "./collection_shop";
|
||||||
import {CollectionPushGift} from "./collection_pushgift";
|
import { CollectionPushGift } from "./collection_pushgift";
|
||||||
|
|
||||||
export type MongodbCollections = {
|
export type MongodbCollections = {
|
||||||
user: CollectionUser;
|
user: CollectionUser;
|
||||||
@ -133,7 +133,7 @@ export type MongodbCollections = {
|
|||||||
rmbuse: CollectionRmbuse
|
rmbuse: CollectionRmbuse
|
||||||
fightLog: CollectionFightLog
|
fightLog: CollectionFightLog
|
||||||
shop: CollectionShop
|
shop: CollectionShop
|
||||||
pushgift:CollectionPushGift
|
pushgift: CollectionPushGift
|
||||||
|
|
||||||
huodong_user: CollectionUser;
|
huodong_user: CollectionUser;
|
||||||
};
|
};
|
@ -2637,6 +2637,20 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"optional": true
|
"optional": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 38,
|
||||||
|
"name": "heroskin",
|
||||||
|
"type": {
|
||||||
|
"type": "Interface",
|
||||||
|
"indexSignature": {
|
||||||
|
"keyType": "String",
|
||||||
|
"type": {
|
||||||
|
"type": "Number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"optional": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
49
src/public/heroskin.ts
Normal file
49
src/public/heroskin.ts
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import { ApiCall } from "tsrpc";
|
||||||
|
import { call } from "../public/player";
|
||||||
|
import { PlayerFun } from "./player";
|
||||||
|
|
||||||
|
|
||||||
|
export default class HeroSkinFun {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取英雄皮肤列表
|
||||||
|
* @param uid
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
static getHeroSkin(call: call, oids: string | string[] = '') {
|
||||||
|
return call.conn.gud.heroskin || {};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新英雄皮肤数据
|
||||||
|
*
|
||||||
|
* 说明 addAttr 会推送msg_s2c/PlayerChange
|
||||||
|
* addEventMsg 会检测 PlayerChange 如果change的key在player中则触发重算战力操作
|
||||||
|
* 所以这个地放更新heroskin数据不需要主动重算战力
|
||||||
|
* @param oid
|
||||||
|
* @param data
|
||||||
|
* @returns
|
||||||
|
* */
|
||||||
|
static async updateHeroSkinLv(call: ApiCall, change: k_v<number>) {
|
||||||
|
let skin = this.getHeroSkin(call);
|
||||||
|
skin = Object.assign(skin, change);
|
||||||
|
await PlayerFun.addAttr(call, { heroskin: skin });
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算皮肤buff
|
||||||
|
* @param skid
|
||||||
|
* @param lv
|
||||||
|
* @returns {[string]: number}
|
||||||
|
* */
|
||||||
|
static calcBuff(skid: string, lv: number): k_v<number> {
|
||||||
|
let buff = {};
|
||||||
|
let skin = G.gc.heroSkin[skid];
|
||||||
|
for (let i = 1; i <= lv; i++) {
|
||||||
|
for (let k in G.gc.heroSkinLv[skin.colour][i].buff) {
|
||||||
|
buff[k] = (buff[k] || 0) + G.gc.heroSkinLv[skin.colour][i].buff[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return buff;
|
||||||
|
}
|
||||||
|
}
|
@ -1,24 +1,25 @@
|
|||||||
import {ObjectId, OptionalId} from 'mongodb';
|
import { ObjectId, OptionalId } from 'mongodb';
|
||||||
import {ApiCall, BaseConnection, TsrpcError} from 'tsrpc';
|
import { ApiCall, BaseConnection, TsrpcError } from 'tsrpc';
|
||||||
import {checkPlayerGift} from '../api_s2c/event/xianshilibao/fun';
|
import { checkPlayerGift } from '../api_s2c/event/xianshilibao/fun';
|
||||||
import {md_redPoint_check} from '../api_s2c/gongyu/mingdao/ApiOpen';
|
import { md_redPoint_check } from '../api_s2c/gongyu/mingdao/ApiOpen';
|
||||||
import {CollectionPeiJian} from '../module/collection_peijian';
|
import { CollectionPeiJian } from '../module/collection_peijian';
|
||||||
import {Wjjl} from '../module/collection_wjjl';
|
import { Wjjl } from '../module/collection_wjjl';
|
||||||
import {MongodbCollections} from '../module/mongodb';
|
import { MongodbCollections } from '../module/mongodb';
|
||||||
import {G123} from '../sdk/G123';
|
import { G123 } from '../sdk/G123';
|
||||||
import {ResGetList} from '../shared/protocols/item/PtlGetList';
|
import { ResGetList } from '../shared/protocols/item/PtlGetList';
|
||||||
import {ResLogin} from '../shared/protocols/user/PtlLogin';
|
import { ResLogin } from '../shared/protocols/user/PtlLogin';
|
||||||
import {player} from '../shared/protocols/user/type';
|
import { player } from '../shared/protocols/user/type';
|
||||||
import {HeroShared, otherBuff} from '../shared/public/hero';
|
import { HeroShared, otherBuff } from '../shared/public/hero';
|
||||||
import {PublicShared} from '../shared/public/public';
|
import { PublicShared } from '../shared/public/public';
|
||||||
import {HeroFun} from './hero';
|
import { HeroFun } from './hero';
|
||||||
import {ShiwuFun} from './shiwu';
|
import { ShiwuFun } from './shiwu';
|
||||||
import {UserFun} from './user';
|
import { UserFun } from './user';
|
||||||
import {getItemByItemId, getItemNum} from './item';
|
import { getItemByItemId, getItemNum } from './item';
|
||||||
import {getGud, setGud} from './gud';
|
import { getGud, setGud } from './gud';
|
||||||
import {addGameLog} from "../gameLog";
|
import { addGameLog } from "../gameLog";
|
||||||
import {PushGiftFun} from "./pushgift";
|
import { PushGiftFun } from "./pushgift";
|
||||||
import { ActionLog } from './actionLog/actionLog';
|
import { ActionLog } from './actionLog/actionLog';
|
||||||
|
import HeroSkinFun from './heroskin';
|
||||||
|
|
||||||
|
|
||||||
export type call = {
|
export type call = {
|
||||||
@ -70,13 +71,13 @@ export class PlayerFun {
|
|||||||
if (err) {
|
if (err) {
|
||||||
// 消耗不足 触发推送礼包
|
// 消耗不足 触发推送礼包
|
||||||
PushGiftFun.chkItemGift(call.uid, atn)
|
PushGiftFun.chkItemGift(call.uid, atn)
|
||||||
throw new TsrpcError('', {code: -104, atn: atn});
|
throw new TsrpcError('', { code: -104, atn: atn });
|
||||||
} else {
|
} else {
|
||||||
return {isOk: false, atn: atn};
|
return { isOk: false, atn: atn };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {isOk: true, atn: null};
|
return { isOk: true, atn: null };
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -94,7 +95,7 @@ export class PlayerFun {
|
|||||||
atn: need
|
atn: need
|
||||||
};
|
};
|
||||||
if (args.length < 1) {
|
if (args.length < 1) {
|
||||||
throw new TsrpcError('', {code: -104, atn: meet.atn});
|
throw new TsrpcError('', { code: -104, atn: meet.atn });
|
||||||
}
|
}
|
||||||
return await this.checkNeedByArgs(call, ...args);
|
return await this.checkNeedByArgs(call, ...args);
|
||||||
}
|
}
|
||||||
@ -117,10 +118,10 @@ export class PlayerFun {
|
|||||||
all.push(this.addItem(call, item));
|
all.push(this.addItem(call, item));
|
||||||
}
|
}
|
||||||
// 记录消耗
|
// 记录消耗
|
||||||
addGameLog(call.uid, call.service.name, call.req, {need: val})
|
addGameLog(call.uid, call.service.name, call.req, { need: val })
|
||||||
await Promise.all(all);
|
await Promise.all(all);
|
||||||
G.emit('USE_ITEM', call.conn.gud, needArr.map(need => {
|
G.emit('USE_ITEM', call.conn.gud, needArr.map(need => {
|
||||||
return {...need, n: Math.abs(need.n)};
|
return { ...need, n: Math.abs(need.n) };
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,16 +137,18 @@ export class PlayerFun {
|
|||||||
let equip = prizeList.filter(atn => atn.a == 'equip' && atn.n != 0);
|
let equip = prizeList.filter(atn => atn.a == 'equip' && atn.n != 0);
|
||||||
let shiwu = prizeList.filter(atn => atn.a == 'shiwu' && atn.n != 0);
|
let shiwu = prizeList.filter(atn => atn.a == 'shiwu' && atn.n != 0);
|
||||||
let peijian = prizeList.filter(atn => atn.a == 'peijian' && atn.n != 0);
|
let peijian = prizeList.filter(atn => atn.a == 'peijian' && atn.n != 0);
|
||||||
|
let heroskin = prizeList.filter(atn => atn.a == 'heroskin' && atn.n != 0);
|
||||||
|
|
||||||
// 记录获得
|
// 记录获得
|
||||||
addGameLog(call.uid, call.service.name, call.req, {prize: prizeList})
|
addGameLog(call.uid, call.service.name, call.req, { prize: prizeList })
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
attr.length > 0 && this.addAttr(call, attr),
|
attr.length > 0 && this.addAttr(call, attr),
|
||||||
item.length > 0 && this.addItem(call, item),
|
item.length > 0 && this.addItem(call, item),
|
||||||
hero.length > 0 && this.addHero(call, hero),
|
hero.length > 0 && this.addHero(call, hero),
|
||||||
equip.length > 0 && this.addEquip(call, equip),
|
equip.length > 0 && this.addEquip(call, equip),
|
||||||
shiwu.length > 0 && this.addShiwu(call, shiwu),
|
shiwu.length > 0 && this.addShiwu(call, shiwu),
|
||||||
peijian.length > 0 && this.addPeijian(call, peijian)
|
peijian.length > 0 && this.addPeijian(call, peijian),
|
||||||
|
heroskin.length > 0 && this.addHeroskin(call, heroskin),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return prizeList;
|
return prizeList;
|
||||||
@ -180,9 +183,9 @@ export class PlayerFun {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (atn.t == 'rmbmoney' || atn.t == 'jinbi') && atn.n > 0 ){
|
if ((atn.t == 'rmbmoney' || atn.t == 'jinbi') && atn.n > 0) {
|
||||||
//统计今日获取的金币和钻石
|
//统计今日获取的金币和钻石
|
||||||
ActionLog.addDayLog(call.conn.uid, { key: 'got_'+atn.t, val: atn.n });
|
ActionLog.addDayLog(call.conn.uid, { key: 'got_' + atn.t, val: atn.n });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加vip经验的任务监听
|
// 增加vip经验的任务监听
|
||||||
@ -190,7 +193,7 @@ export class PlayerFun {
|
|||||||
G.emit("Class_task_157", 'Class_task_157', call, atn.n, 0);
|
G.emit("Class_task_157", 'Class_task_157', call, atn.n, 0);
|
||||||
}
|
}
|
||||||
all.push(this.changeAttr(call.conn.uid, change));
|
all.push(this.changeAttr(call.conn.uid, change));
|
||||||
all.push(this.upAttr(call, {...atn, n: change[atn.t]}));
|
all.push(this.upAttr(call, { ...atn, n: change[atn.t] }));
|
||||||
//await this.changeAttr(call.conn.uid, change);
|
//await this.changeAttr(call.conn.uid, change);
|
||||||
//await this.upAttr(call, {...atn, n: change[atn.t]});
|
//await this.upAttr(call, {...atn, n: change[atn.t]});
|
||||||
}
|
}
|
||||||
@ -233,17 +236,17 @@ export class PlayerFun {
|
|||||||
G.mongodb.collection('rmbuse').insertOne(data);
|
G.mongodb.collection('rmbuse').insertOne(data);
|
||||||
// 消费竞赛开启时写入跨服数据库
|
// 消费竞赛开启时写入跨服数据库
|
||||||
if (G.huodong.xfjs && !data.isAdd && typeof data.change == 'number') {
|
if (G.huodong.xfjs && !data.isAdd && typeof data.change == 'number') {
|
||||||
G.crossmongodb.collection('rmbuse').updateOne({uid: data.uid, type: `xfjs_${G.huodong.xfjsId}`}, {
|
G.crossmongodb.collection('rmbuse').updateOne({ uid: data.uid, type: `xfjs_${G.huodong.xfjsId}` }, {
|
||||||
$set: {time: G.time},
|
$set: { time: G.time },
|
||||||
$inc: {change: data.change}
|
$inc: { change: data.change }
|
||||||
}, {upsert: true});
|
}, { upsert: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async changeAttr(uid: string, change: Partial<player>) {
|
static async changeAttr(uid: string, change: Partial<player>) {
|
||||||
setGud(uid, change);
|
setGud(uid, change);
|
||||||
|
|
||||||
G.mongodb.collection('user').updateOne({uid: uid}, {$set: change});
|
G.mongodb.collection('user').updateOne({ uid: uid }, { $set: change });
|
||||||
|
|
||||||
if (G.server.uid_connections[uid]) {
|
if (G.server.uid_connections[uid]) {
|
||||||
checkPlayerGift(G.server.uid_connections[uid].gud, change);
|
checkPlayerGift(G.server.uid_connections[uid].gud, change);
|
||||||
@ -265,9 +268,9 @@ export class PlayerFun {
|
|||||||
const curLv = call.conn.gud.lv;
|
const curLv = call.conn.gud.lv;
|
||||||
while (conf[curLv + addLv + 1] && atn.n >= conf[curLv + addLv + 1].need) {
|
while (conf[curLv + addLv + 1] && atn.n >= conf[curLv + addLv + 1].need) {
|
||||||
addLv++;
|
addLv++;
|
||||||
G123.sendUserLevelUp({...call.conn.gud, lv: curLv + addLv, nexp: atn.n});
|
G123.sendUserLevelUp({ ...call.conn.gud, lv: curLv + addLv, nexp: atn.n });
|
||||||
}
|
}
|
||||||
addLv && await this.addAttr(call, {lv: curLv + addLv});
|
addLv && await this.addAttr(call, { lv: curLv + addLv });
|
||||||
break;
|
break;
|
||||||
case 'payExp':
|
case 'payExp':
|
||||||
let addVip = 0;
|
let addVip = 0;
|
||||||
@ -276,7 +279,7 @@ export class PlayerFun {
|
|||||||
while (vipConf[curVip + addVip + 1] && atn.n >= vipConf[curVip + addVip + 1].exp) {
|
while (vipConf[curVip + addVip + 1] && atn.n >= vipConf[curVip + addVip + 1].exp) {
|
||||||
addVip++;
|
addVip++;
|
||||||
}
|
}
|
||||||
addVip && await this.addAttr(call, {vip: curVip + addVip});
|
addVip && await this.addAttr(call, { vip: curVip + addVip });
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -287,7 +290,7 @@ export class PlayerFun {
|
|||||||
static async addItem(call: call, val: atn[]) {
|
static async addItem(call: call, val: atn[]) {
|
||||||
for (let atn of val) {
|
for (let atn of val) {
|
||||||
let upObj = {
|
let upObj = {
|
||||||
filter: {uid: call.uid, itemId: atn.t},
|
filter: { uid: call.uid, itemId: atn.t },
|
||||||
update: {
|
update: {
|
||||||
$setOnInsert: {
|
$setOnInsert: {
|
||||||
firstTime: G.time,
|
firstTime: G.time,
|
||||||
@ -319,7 +322,7 @@ export class PlayerFun {
|
|||||||
};
|
};
|
||||||
G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options);
|
G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options);
|
||||||
call.addEventMsg('msg_s2c/ItemChange', atn.t, data);
|
call.addEventMsg('msg_s2c/ItemChange', atn.t, data);
|
||||||
addGameLog(call.uid, "_itemChange", {"additem": 1}, {
|
addGameLog(call.uid, "_itemChange", { "additem": 1 }, {
|
||||||
"filter": upObj.filter,
|
"filter": upObj.filter,
|
||||||
"update": upObj.update,
|
"update": upObj.update,
|
||||||
"options": upObj.options
|
"options": upObj.options
|
||||||
@ -327,10 +330,10 @@ export class PlayerFun {
|
|||||||
} else {
|
} else {
|
||||||
if (item.num + atn.n <= 0) {
|
if (item.num + atn.n <= 0) {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
G.mongodb.collection('item').deleteOne({uid: call.uid, itemId: atn.t})
|
G.mongodb.collection('item').deleteOne({ uid: call.uid, itemId: atn.t })
|
||||||
]);
|
]);
|
||||||
call.addEventMsg('msg_s2c/ItemChange', atn.t, {num: 0});
|
call.addEventMsg('msg_s2c/ItemChange', atn.t, { num: 0 });
|
||||||
addGameLog(call.uid, "_itemChange", {"delitem": 1}, {"itemId": atn.t})
|
addGameLog(call.uid, "_itemChange", { "delitem": 1 }, { "itemId": atn.t })
|
||||||
} else {
|
} else {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options)
|
G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options)
|
||||||
@ -339,7 +342,7 @@ export class PlayerFun {
|
|||||||
num: item.num + atn.n,
|
num: item.num + atn.n,
|
||||||
lastTime: upObj.update.$set.lastTime
|
lastTime: upObj.update.$set.lastTime
|
||||||
});
|
});
|
||||||
addGameLog(call.uid, "_itemChange", {"attritem": 1}, {
|
addGameLog(call.uid, "_itemChange", { "attritem": 1 }, {
|
||||||
"filter": upObj.filter,
|
"filter": upObj.filter,
|
||||||
"update": upObj.update,
|
"update": upObj.update,
|
||||||
"options": upObj.options,
|
"options": upObj.options,
|
||||||
@ -374,7 +377,7 @@ export class PlayerFun {
|
|||||||
|
|
||||||
insertData.forEach((v, key) => {
|
insertData.forEach((v, key) => {
|
||||||
let id = result.insertedIds[key].toHexString();
|
let id = result.insertedIds[key].toHexString();
|
||||||
let {_id, ...ops} = v;
|
let { _id, ...ops } = v;
|
||||||
|
|
||||||
Wjjl.setVal(call.uid, `has_equip_color_${G.gc.equip[ops.equipId].colour}`, 1, false);
|
Wjjl.setVal(call.uid, `has_equip_color_${G.gc.equip[ops.equipId].colour}`, 1, false);
|
||||||
|
|
||||||
@ -408,10 +411,10 @@ export class PlayerFun {
|
|||||||
*/
|
*/
|
||||||
static async cutEquip(call: call, _idArr: string[]) {
|
static async cutEquip(call: call, _idArr: string[]) {
|
||||||
for (let _id of _idArr) {
|
for (let _id of _idArr) {
|
||||||
G.mongodb.collection('equip').deleteOne({uid: call.uid, _id: new ObjectId(_id)});
|
G.mongodb.collection('equip').deleteOne({ uid: call.uid, _id: new ObjectId(_id) });
|
||||||
call.addEventMsg('msg_s2c/EquipChange', _id, {num: 0});
|
call.addEventMsg('msg_s2c/EquipChange', _id, { num: 0 });
|
||||||
|
|
||||||
addGameLog(call.uid, "_cutEquip", {}, {_id: _id})
|
addGameLog(call.uid, "_cutEquip", {}, { _id: _id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -445,7 +448,7 @@ export class PlayerFun {
|
|||||||
let v = insertData[key]
|
let v = insertData[key]
|
||||||
|
|
||||||
let id = result.insertedIds[key].toHexString();
|
let id = result.insertedIds[key].toHexString();
|
||||||
let {_id, ...ops} = v;
|
let { _id, ...ops } = v;
|
||||||
|
|
||||||
call.addEventMsg('msg_s2c/HeroChange', id, {
|
call.addEventMsg('msg_s2c/HeroChange', id, {
|
||||||
_id: id,
|
_id: id,
|
||||||
@ -478,9 +481,9 @@ export class PlayerFun {
|
|||||||
static async cutHero(call: call, _idArr: string[]) {
|
static async cutHero(call: call, _idArr: string[]) {
|
||||||
for (let _id of _idArr) {
|
for (let _id of _idArr) {
|
||||||
await HeroFun.delHero(call, _id);
|
await HeroFun.delHero(call, _id);
|
||||||
G.mongodb.collection('hero').deleteOne({uid: call.uid, _id: new ObjectId(_id)});
|
G.mongodb.collection('hero').deleteOne({ uid: call.uid, _id: new ObjectId(_id) });
|
||||||
call.addEventMsg('msg_s2c/HeroChange', _id, {num: 0});
|
call.addEventMsg('msg_s2c/HeroChange', _id, { num: 0 });
|
||||||
addGameLog(call.uid, "_cutHero", {}, {_id: _id})
|
addGameLog(call.uid, "_cutHero", {}, { _id: _id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,7 +498,7 @@ export class PlayerFun {
|
|||||||
colour: v.colour,
|
colour: v.colour,
|
||||||
wearId: '',
|
wearId: '',
|
||||||
shiwuId: v.t,
|
shiwuId: v.t,
|
||||||
jichu: ShiwuFun.randomJichu({colour: v.colour, shiwuId: v.t}),
|
jichu: ShiwuFun.randomJichu({ colour: v.colour, shiwuId: v.t }),
|
||||||
fujia: []
|
fujia: []
|
||||||
};
|
};
|
||||||
if (v.shiwuBuff) {
|
if (v.shiwuBuff) {
|
||||||
@ -515,7 +518,7 @@ export class PlayerFun {
|
|||||||
|
|
||||||
insertData.forEach((v, key) => {
|
insertData.forEach((v, key) => {
|
||||||
let id = result.insertedIds[key].toHexString();
|
let id = result.insertedIds[key].toHexString();
|
||||||
let {_id, ...ops} = v;
|
let { _id, ...ops } = v;
|
||||||
call.addEventMsg('msg_s2c/ShiwuChange', id, {
|
call.addEventMsg('msg_s2c/ShiwuChange', id, {
|
||||||
_id: id,
|
_id: id,
|
||||||
...ops
|
...ops
|
||||||
@ -534,9 +537,9 @@ export class PlayerFun {
|
|||||||
*/
|
*/
|
||||||
static async cutShiwu(call: call, _idArr: string[]) {
|
static async cutShiwu(call: call, _idArr: string[]) {
|
||||||
for (let _id of _idArr) {
|
for (let _id of _idArr) {
|
||||||
G.mongodb.collection('shiwu').deleteOne({uid: call.uid, _id: new ObjectId(_id)});
|
G.mongodb.collection('shiwu').deleteOne({ uid: call.uid, _id: new ObjectId(_id) });
|
||||||
call.addEventMsg('msg_s2c/ShiwuChange', _id, {num: 0});
|
call.addEventMsg('msg_s2c/ShiwuChange', _id, { num: 0 });
|
||||||
addGameLog(call.uid, "_cutShiwu", {}, {_id: _id})
|
addGameLog(call.uid, "_cutShiwu", {}, { _id: _id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,7 +564,7 @@ export class PlayerFun {
|
|||||||
addGameLog(call.uid, "_addPeiJian", {}, insertData)
|
addGameLog(call.uid, "_addPeiJian", {}, insertData)
|
||||||
|
|
||||||
insertData.forEach((v, key) => {
|
insertData.forEach((v, key) => {
|
||||||
let {_id, uid, ...ops} = v;
|
let { _id, uid, ...ops } = v;
|
||||||
let id = _id.toHexString();
|
let id = _id.toHexString();
|
||||||
|
|
||||||
if (G.gc.peijian[v.peijianId].colour != 5) {
|
if (G.gc.peijian[v.peijianId].colour != 5) {
|
||||||
@ -569,8 +572,8 @@ export class PlayerFun {
|
|||||||
lshd[v.peijianId]++;
|
lshd[v.peijianId]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
G.redis.set('peijian', call.uid, id, {_id: id, ...ops});
|
G.redis.set('peijian', call.uid, id, { _id: id, ...ops });
|
||||||
call.addEventMsg('msg_s2c/PeijianChange', id, {_id: id, ...ops});
|
call.addEventMsg('msg_s2c/PeijianChange', id, { _id: id, ...ops });
|
||||||
});
|
});
|
||||||
|
|
||||||
G.mongodb.collection('playerInfo', 'lshd_peijian').updateOne(
|
G.mongodb.collection('playerInfo', 'lshd_peijian').updateOne(
|
||||||
@ -591,15 +594,39 @@ export class PlayerFun {
|
|||||||
return Object.values(result.insertedIds).map(v => G.mongodb.conversionId(v));
|
return Object.values(result.insertedIds).map(v => G.mongodb.conversionId(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加皮肤
|
||||||
|
* */
|
||||||
|
static async addHeroskin(call: call, val: atn[]) {
|
||||||
|
let prize = [];
|
||||||
|
let upskin = {};
|
||||||
|
let heroskin = HeroSkinFun.getHeroSkin(call);
|
||||||
|
for (let p of val) {
|
||||||
|
if (!heroskin[p.t]) {
|
||||||
|
upskin[p.t] = 1;
|
||||||
|
} else {
|
||||||
|
prize.concat(G.gc.heroSkin[p.t].zhuanhuan);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Object.keys(upskin).length > 0) {
|
||||||
|
this.addAttr(call, Object.assign(heroskin, upskin));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 皮肤存在转换为其他奖励
|
||||||
|
if (prize.length > 0) {
|
||||||
|
this.sendPrize(call, prize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除配件
|
* 删除配件
|
||||||
*/
|
*/
|
||||||
static async cutPeijian(call: call, _idArr: string[]) {
|
static async cutPeijian(call: call, _idArr: string[]) {
|
||||||
for (let _id of _idArr) {
|
for (let _id of _idArr) {
|
||||||
G.redis.del('peijian', call.uid, _id);
|
G.redis.del('peijian', call.uid, _id);
|
||||||
G.mongodb.collection('peijian').deleteOne({uid: call.uid, _id: new ObjectId(_id)});
|
G.mongodb.collection('peijian').deleteOne({ uid: call.uid, _id: new ObjectId(_id) });
|
||||||
call.addEventMsg('msg_s2c/PeijianChange', _id, {num: 0});
|
call.addEventMsg('msg_s2c/PeijianChange', _id, { num: 0 });
|
||||||
addGameLog(call.uid, "_cutPeijian", {}, {_id: _id})
|
addGameLog(call.uid, "_cutPeijian", {}, { _id: _id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,7 +635,7 @@ export class PlayerFun {
|
|||||||
*/
|
*/
|
||||||
static async getAttr(uid: string, where: { ctype: string; }) {
|
static async getAttr(uid: string, where: { ctype: string; }) {
|
||||||
let _w = where;
|
let _w = where;
|
||||||
Object.assign(_w, {uid: uid});
|
Object.assign(_w, { uid: uid });
|
||||||
const _res = await G.mongodb.collection('playattr').find(_w).toArray();
|
const _res = await G.mongodb.collection('playattr').find(_w).toArray();
|
||||||
_res.forEach(v => {
|
_res.forEach(v => {
|
||||||
if (v._id) {
|
if (v._id) {
|
||||||
@ -623,7 +650,7 @@ export class PlayerFun {
|
|||||||
*/
|
*/
|
||||||
static async getAttrOne(uid: string, where: { ctype: string; }) {
|
static async getAttrOne(uid: string, where: { ctype: string; }) {
|
||||||
let _w = where;
|
let _w = where;
|
||||||
Object.assign(_w, {uid: uid});
|
Object.assign(_w, { uid: uid });
|
||||||
const _res = await G.mongodb.collection('playattr').findOne(_w);
|
const _res = await G.mongodb.collection('playattr').findOne(_w);
|
||||||
if (_res) {
|
if (_res) {
|
||||||
delete _res['_id'];
|
delete _res['_id'];
|
||||||
@ -639,10 +666,10 @@ export class PlayerFun {
|
|||||||
time = G.time;
|
time = G.time;
|
||||||
}
|
}
|
||||||
let _zeroTime = PublicShared.getToDayZeroTime(time);
|
let _zeroTime = PublicShared.getToDayZeroTime(time);
|
||||||
let _tmp = {lasttime: {$gte: _zeroTime, $lte: _zeroTime + 24 * 60 * 60 - 1}};
|
let _tmp = { lasttime: { $gte: _zeroTime, $lte: _zeroTime + 24 * 60 * 60 - 1 } };
|
||||||
|
|
||||||
let _w = where;
|
let _w = where;
|
||||||
Object.assign(_w, {uid: uid, ..._tmp});
|
Object.assign(_w, { uid: uid, ..._tmp });
|
||||||
const _res = await G.mongodb.collection('playattr').find(_w).toArray();
|
const _res = await G.mongodb.collection('playattr').find(_w).toArray();
|
||||||
_res.forEach(v => {
|
_res.forEach(v => {
|
||||||
if (v._id) {
|
if (v._id) {
|
||||||
@ -657,7 +684,7 @@ export class PlayerFun {
|
|||||||
*/
|
*/
|
||||||
static async setAttr(uid: string, where: { ctype: string; }, data: {}, islasttime = 1) {
|
static async setAttr(uid: string, where: { ctype: string; }, data: {}, islasttime = 1) {
|
||||||
let _w = where;
|
let _w = where;
|
||||||
Object.assign(_w, {uid: uid});
|
Object.assign(_w, { uid: uid });
|
||||||
|
|
||||||
if (islasttime == 1) {
|
if (islasttime == 1) {
|
||||||
data["lasttime"] = G.time;
|
data["lasttime"] = G.time;
|
||||||
@ -668,7 +695,7 @@ export class PlayerFun {
|
|||||||
// 加入创建数据时间
|
// 加入创建数据时间
|
||||||
data["ctime"] = G.time;
|
data["ctime"] = G.time;
|
||||||
}
|
}
|
||||||
let _res = await G.mongodb.collection('playattr').updateMany(_w, {$set: data}, {upsert: true});
|
let _res = await G.mongodb.collection('playattr').updateMany(_w, { $set: data }, { upsert: true });
|
||||||
return _res;
|
return _res;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -71,4 +71,6 @@ type heroAddKey = {
|
|||||||
peijian: {
|
peijian: {
|
||||||
[pos: string]: string;
|
[pos: string]: string;
|
||||||
};
|
};
|
||||||
|
/**皮肤*/
|
||||||
|
skin: string;
|
||||||
};
|
};
|
7
src/shared/protocols/heroskin/PtlTakeOff.ts
Normal file
7
src/shared/protocols/heroskin/PtlTakeOff.ts
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export interface ReqTakeOff {
|
||||||
|
heroOid: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ResTakeOff {
|
||||||
|
|
||||||
|
}
|
6
src/shared/protocols/heroskin/PtlUplv.ts
Normal file
6
src/shared/protocols/heroskin/PtlUplv.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface ReqUplv {
|
||||||
|
lv: 1;
|
||||||
|
skid: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ResUplv { }
|
6
src/shared/protocols/heroskin/PtlWear.ts
Normal file
6
src/shared/protocols/heroskin/PtlWear.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface ReqWear {
|
||||||
|
skid: string,
|
||||||
|
heroOid: string,
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ResWear { }
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
import {gonghuiLevel} from '../gonghui/type';
|
import { gonghuiLevel } from '../gonghui/type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* 登录
|
||||||
@ -193,4 +193,9 @@ export type playerAppend = {
|
|||||||
chatFrames?: {
|
chatFrames?: {
|
||||||
[id: string]: number;
|
[id: string]: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**获得的皮肤*/
|
||||||
|
heroskin?: {
|
||||||
|
[skid: string]: number;
|
||||||
|
}
|
||||||
};
|
};
|
@ -1,10 +1,11 @@
|
|||||||
import {ResGetList} from '../protocols/hero/PtlGetList';
|
import HeroSkinFun from '../../public/heroskin';
|
||||||
import {player} from '../protocols/user/type';
|
import { ResGetList } from '../protocols/hero/PtlGetList';
|
||||||
import {EquipShared} from './equip';
|
import { player } from '../protocols/user/type';
|
||||||
import {PeijianShared} from './peijian';
|
import { EquipShared } from './equip';
|
||||||
import {PlayerShared} from './player';
|
import { PeijianShared } from './peijian';
|
||||||
import {PublicShared} from './public';
|
import { PlayerShared } from './player';
|
||||||
import {ShiwuShared} from './shiwu';
|
import { PublicShared } from './public';
|
||||||
|
import { ShiwuShared } from './shiwu';
|
||||||
|
|
||||||
export type otherBuff = Partial<player & {
|
export type otherBuff = Partial<player & {
|
||||||
allBuff: k_v<number>;
|
allBuff: k_v<number>;
|
||||||
@ -31,7 +32,7 @@ export class HeroShared {
|
|||||||
*/
|
*/
|
||||||
static getHeroBasicAttr(hero: heroDataType, otherBuff: otherBuff = G.otherBuff, pos = 0) {
|
static getHeroBasicAttr(hero: heroDataType, otherBuff: otherBuff = G.otherBuff, pos = 0) {
|
||||||
let jiban = 0;
|
let jiban = 0;
|
||||||
let buff: k_v<any> = {skillArr: []};
|
let buff: k_v<any> = { skillArr: [] };
|
||||||
let heroConf = G.gc.hero[hero.heroId];
|
let heroConf = G.gc.hero[hero.heroId];
|
||||||
let heroLv = G.gc.herolv[heroConf.lvup];
|
let heroLv = G.gc.herolv[heroConf.lvup];
|
||||||
let heroGrow = G.gc.herogrow[heroConf.jjup]?.[hero.jieji];
|
let heroGrow = G.gc.herogrow[heroConf.jjup]?.[hero.jieji];
|
||||||
@ -40,7 +41,7 @@ export class HeroShared {
|
|||||||
for (let k in heroLv.buff) {
|
for (let k in heroLv.buff) {
|
||||||
let val = heroLv.buff[k];
|
let val = heroLv.buff[k];
|
||||||
if (typeof val == 'number') buff[k] = val;
|
if (typeof val == 'number') buff[k] = val;
|
||||||
else buff[k] = PublicShared.eval(val, {lv: hero.lv});
|
else buff[k] = PublicShared.eval(val, { lv: hero.lv });
|
||||||
// else buff[k] = Math.floor(new Function(`let lv=${hero.lv}; return ${val}`)());
|
// else buff[k] = Math.floor(new Function(`let lv=${hero.lv}; return ${val}`)());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,7 +136,7 @@ export class HeroShared {
|
|||||||
PublicShared.mergeProperty(buff, PeijianShared.getAttr(p));
|
PublicShared.mergeProperty(buff, PeijianShared.getAttr(p));
|
||||||
let conf = G.gc.peijian[p.peijianId];
|
let conf = G.gc.peijian[p.peijianId];
|
||||||
if (conf.suit) {
|
if (conf.suit) {
|
||||||
if (!suitObj[conf.suit]) suitObj[conf.suit] = {num: 0, minLv: 0};
|
if (!suitObj[conf.suit]) suitObj[conf.suit] = { num: 0, minLv: 0 };
|
||||||
suitObj[conf.suit].num++;
|
suitObj[conf.suit].num++;
|
||||||
if (!suitObj[conf.suit].minLv || p.lv < suitObj[conf.suit].minLv) suitObj[conf.suit].minLv = p.lv;
|
if (!suitObj[conf.suit].minLv || p.lv < suitObj[conf.suit].minLv) suitObj[conf.suit].minLv = p.lv;
|
||||||
}
|
}
|
||||||
@ -273,11 +274,22 @@ export class HeroShared {
|
|||||||
if (otherBuff?.skills) {
|
if (otherBuff?.skills) {
|
||||||
for (let [id, lv] of Object.entries(otherBuff.skills)) {
|
for (let [id, lv] of Object.entries(otherBuff.skills)) {
|
||||||
if (lv && G.gc.xunlianjihua[id].use == 0) {
|
if (lv && G.gc.xunlianjihua[id].use == 0) {
|
||||||
PublicShared.mergeProperty(buff, Object.fromEntries([G.gc.xunlianjihua[id].skill].map(k => [k, PublicShared.eval(G.gc.xunlianjihua[id].v[0], {slv: lv})])));
|
PublicShared.mergeProperty(buff, Object.fromEntries([G.gc.xunlianjihua[id].skill].map(k => [k, PublicShared.eval(G.gc.xunlianjihua[id].v[0], { slv: lv })])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 计算皮肤buff
|
||||||
|
if (otherBuff?.heroskin) {
|
||||||
|
for (let skinId in otherBuff.heroskin) {
|
||||||
|
let skinConf = G.gc.heroSkin[skinId];
|
||||||
|
if (skinConf.heroid != hero.heroId) console;
|
||||||
|
PublicShared.mergeProperty(buff, HeroSkinFun.calcBuff(
|
||||||
|
skinId, otherBuff.heroskin[skinId]
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//最后进行加成属性计算
|
//最后进行加成属性计算
|
||||||
for (let k in buff) {
|
for (let k in buff) {
|
||||||
if (k.indexOf('pro') == -1) continue;
|
if (k.indexOf('pro') == -1) continue;
|
||||||
@ -368,8 +380,8 @@ export class HeroShared {
|
|||||||
static getHeroLvUpNeed(id: string | number, lv = 1): atn[] {
|
static getHeroLvUpNeed(id: string | number, lv = 1): atn[] {
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{a: 'item', t: '1', n: G.gc.herolvup[lv].expneed},
|
{ a: 'item', t: '1', n: G.gc.herolvup[lv].expneed },
|
||||||
{a: 'attr', t: 'jinbi', n: G.gc.herolvup[lv].jinbineed}
|
{ a: 'attr', t: 'jinbi', n: G.gc.herolvup[lv].jinbineed }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user