Compare commits
335 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
248cca1da7 | ||
![]() |
2eb51c03e9 | ||
![]() |
2a1fe11e8f | ||
![]() |
2f6c7b0a26 | ||
![]() |
6bcd618d57 | ||
![]() |
a351798cdb | ||
![]() |
715efd504c | ||
![]() |
acde5e312f | ||
![]() |
aca0019d90 | ||
![]() |
9104b66bf2 | ||
![]() |
8a3d58e882 | ||
![]() |
55cb50a27c | ||
![]() |
07334e2013 | ||
![]() |
7adbddee0d | ||
![]() |
8850e20041 | ||
![]() |
dd9eeca150 | ||
![]() |
490d9b65c9 | ||
![]() |
8718342e3b | ||
![]() |
c2c3ce1bb8 | ||
![]() |
b27f8e5c64 | ||
![]() |
4f93914bb5 | ||
![]() |
c59fa128a6 | ||
![]() |
1688e5b197 | ||
![]() |
f227570248 | ||
![]() |
e6e1153a49 | ||
![]() |
a1208ba254 | ||
![]() |
036abb80b4 | ||
![]() |
9d3dd2dbc9 | ||
![]() |
9fc8c0cb47 | ||
![]() |
5a8d95307b | ||
![]() |
bda3f74ce9 | ||
![]() |
75e010bbc4 | ||
![]() |
ffedca3574 | ||
![]() |
cd8e1a44ba | ||
![]() |
b44f083637 | ||
![]() |
e968bcd412 | ||
![]() |
c791bc152c | ||
![]() |
9154278020 | ||
![]() |
b76548ea4f | ||
![]() |
2bc993ddd3 | ||
![]() |
8414c52c8a | ||
![]() |
52c24d4507 | ||
![]() |
e3f33f82e2 | ||
![]() |
f70ba5367c | ||
![]() |
0023683669 | ||
![]() |
9744576070 | ||
![]() |
4e12d706fe | ||
![]() |
06cefdeb53 | ||
![]() |
70a901ddf4 | ||
![]() |
afb4c24322 | ||
![]() |
3b0495fe24 | ||
![]() |
a494f2a3d8 | ||
![]() |
92ff993129 | ||
![]() |
ba124d82c9 | ||
![]() |
e6320bb040 | ||
![]() |
a776a4c01e | ||
![]() |
af29ee51ac | ||
![]() |
c4a60ac6ab | ||
![]() |
9484a696b3 | ||
![]() |
a91a8f0657 | ||
![]() |
be0923c849 | ||
![]() |
ae2952ea5d | ||
![]() |
a600998fd3 | ||
![]() |
748da2a3e9 | ||
![]() |
02d17c5f73 | ||
![]() |
561954de17 | ||
![]() |
5a29cbe802 | ||
![]() |
86fbc457f8 | ||
![]() |
eb76193922 | ||
![]() |
2dce99387d | ||
![]() |
323ed2115b | ||
![]() |
5bbeee2f9a | ||
![]() |
ddabcbe8ac | ||
![]() |
5ba323fa49 | ||
![]() |
c18c0fcb76 | ||
![]() |
3f7e68b5bf | ||
![]() |
f0df93cdd1 | ||
![]() |
82c47aaadf | ||
![]() |
8d35b1d74c | ||
![]() |
f1f792ad82 | ||
![]() |
a8051b9767 | ||
![]() |
13de3624dc | ||
![]() |
6f7eab1701 | ||
![]() |
206e87d64c | ||
![]() |
d30f62f6c5 | ||
![]() |
8b8e14a609 | ||
![]() |
1c18a5b7fd | ||
![]() |
950a048742 | ||
![]() |
273b1865c3 | ||
![]() |
14796bb06b | ||
3bdc98a1f6 | |||
0642ccb48c | |||
![]() |
d2ed18117f | ||
![]() |
c2ce055c73 | ||
4c37d4c846 | |||
c04264a88f | |||
![]() |
12b1941aa1 | ||
![]() |
73ccfd4921 | ||
![]() |
4d15b50a66 | ||
![]() |
a53e7a9887 | ||
![]() |
61afa26e45 | ||
![]() |
5714848a35 | ||
![]() |
e914f3f11b | ||
![]() |
3f90c61490 | ||
![]() |
29204ab949 | ||
![]() |
a9166e8f52 | ||
![]() |
da0df2ff95 | ||
![]() |
a4188eee24 | ||
![]() |
ed8fe77656 | ||
![]() |
ee9114dce4 | ||
![]() |
c82adea71f | ||
![]() |
2a35b81f78 | ||
![]() |
23fd9317ad | ||
![]() |
a8d8ddf954 | ||
![]() |
220717f4a4 | ||
![]() |
5e50e29f0a | ||
![]() |
6a81520c68 | ||
![]() |
2e99a2d592 | ||
![]() |
0902ab6cd5 | ||
![]() |
95c767a21f | ||
![]() |
d987b1143b | ||
![]() |
82b3a45884 | ||
![]() |
f9b6f8901b | ||
![]() |
1f36269ac9 | ||
![]() |
4e2b7ca74e | ||
![]() |
5ba52ad2c8 | ||
![]() |
01c4f28139 | ||
![]() |
70ad3577f8 | ||
![]() |
3f36fa83ab | ||
![]() |
04fe3029b3 | ||
![]() |
edf071105e | ||
![]() |
12d092677a | ||
7c3b5e985c | |||
![]() |
3c54ebe0c4 | ||
![]() |
8415d675c4 | ||
![]() |
96b71de06d | ||
![]() |
75cadfe391 | ||
![]() |
6e87898cfa | ||
![]() |
9d82d08738 | ||
![]() |
86161fca85 | ||
![]() |
bd4f128179 | ||
![]() |
3b3d61795e | ||
![]() |
98e34a065b | ||
![]() |
ca0517c4b4 | ||
![]() |
77087741a7 | ||
![]() |
7415823947 | ||
![]() |
3a383d6f54 | ||
![]() |
6cb6d8f60d | ||
![]() |
b4221ff4b0 | ||
![]() |
7aaf803fb3 | ||
![]() |
ec40da9ad5 | ||
![]() |
72377fa50d | ||
![]() |
83485d0fd0 | ||
![]() |
e2df48498a | ||
![]() |
42601c29fd | ||
![]() |
3c7985642e | ||
![]() |
a0d06cdaf4 | ||
![]() |
2e054daa65 | ||
![]() |
809030edee | ||
![]() |
df3c9a79bf | ||
![]() |
3fa08f6640 | ||
![]() |
dabcc8baa4 | ||
![]() |
12e21ce0f1 | ||
![]() |
0cde599ddd | ||
![]() |
69c44155ec | ||
![]() |
944a13f591 | ||
![]() |
4c0a37cd78 | ||
![]() |
4379a95d7e | ||
![]() |
124681d757 | ||
![]() |
1090a5f8df | ||
![]() |
b9a612239d | ||
![]() |
a1a687773c | ||
![]() |
3c50fdbd01 | ||
![]() |
9f512e8fbc | ||
![]() |
a7f527bf09 | ||
![]() |
f2911269e0 | ||
![]() |
7eec14188f | ||
![]() |
bc078b9c95 | ||
![]() |
d3f272f1e4 | ||
![]() |
89ea1a47af | ||
![]() |
08c59b522b | ||
![]() |
c65aea9ae2 | ||
![]() |
8f92372471 | ||
![]() |
499acf3684 | ||
![]() |
57faacbe9b | ||
![]() |
abf47d251f | ||
![]() |
77e06ba769 | ||
![]() |
dec416a158 | ||
![]() |
9955c4db93 | ||
![]() |
ab872cf185 | ||
![]() |
8d9002b1a5 | ||
![]() |
dc45a38f4e | ||
![]() |
ab12f52e2e | ||
![]() |
9bf6e3e724 | ||
![]() |
06540083ab | ||
![]() |
a69ca2312a | ||
![]() |
afe6ddc20b | ||
![]() |
e95928b060 | ||
![]() |
36a82d135b | ||
![]() |
f0fc5a5901 | ||
![]() |
9e032536f0 | ||
![]() |
b46260f4a2 | ||
![]() |
22dd6644a3 | ||
![]() |
76f9dd1f98 | ||
![]() |
60bcf1d794 | ||
![]() |
3f2daecfef | ||
![]() |
dbd1e72657 | ||
![]() |
4128508a4c | ||
![]() |
6f17e77f14 | ||
![]() |
eafa42880a | ||
![]() |
da4a53d071 | ||
![]() |
a7d11fe54e | ||
![]() |
86866e9233 | ||
![]() |
611898b501 | ||
![]() |
f6df6fd8bc | ||
![]() |
005a086ea1 | ||
![]() |
9d14aea6b8 | ||
![]() |
59a07175e6 | ||
![]() |
718add173f | ||
![]() |
94cf1f9c4f | ||
![]() |
be8691ce6d | ||
![]() |
f7cf497ded | ||
![]() |
3462540159 | ||
![]() |
52a112085b | ||
![]() |
2894f384b9 | ||
![]() |
2739774842 | ||
![]() |
17aa676fa9 | ||
![]() |
34ce5c01aa | ||
![]() |
4fa797f93d | ||
![]() |
be85366d04 | ||
![]() |
e1430b6411 | ||
![]() |
0b2a9f3dc7 | ||
![]() |
b79d80beed | ||
![]() |
3898cee713 | ||
![]() |
dda879b037 | ||
![]() |
99e84d65a5 | ||
![]() |
2811d16323 | ||
![]() |
b013e9042c | ||
![]() |
1158f26eaa | ||
![]() |
6efe04ed6d | ||
![]() |
968ce25e5f | ||
![]() |
944a675af3 | ||
![]() |
6fa3a8224c | ||
![]() |
479c309481 | ||
![]() |
b2eb783dc1 | ||
![]() |
892717ca09 | ||
![]() |
05ea2e4213 | ||
![]() |
3450796bb7 | ||
![]() |
4ebe8ae338 | ||
![]() |
de90e27b3f | ||
![]() |
1292156a9d | ||
![]() |
26fd486595 | ||
![]() |
95a3e9d3fb | ||
![]() |
03d2736e8d | ||
![]() |
58e23b1812 | ||
![]() |
bff3115f75 | ||
![]() |
9a5cc99fb1 | ||
![]() |
058529ea6a | ||
![]() |
47a9c6efb7 | ||
![]() |
2a4ed01a34 | ||
![]() |
9ee67b5193 | ||
![]() |
f8b87f751e | ||
![]() |
df027cdf08 | ||
![]() |
408562d576 | ||
![]() |
4ae077503f | ||
![]() |
c901756cc8 | ||
![]() |
03b774b73e | ||
![]() |
ceec9c5be2 | ||
![]() |
4e83e2ac72 | ||
![]() |
bb8ec648e3 | ||
![]() |
3d2e73e76d | ||
![]() |
5f2d865966 | ||
![]() |
6af6eec94d | ||
![]() |
45e149c2c0 | ||
![]() |
b5288be10a | ||
e3f0b4347e | |||
b4ffe0a4d2 | |||
![]() |
b6c7b3717b | ||
209470c89f | |||
![]() |
60bbb97a40 | ||
![]() |
bc8440f9a9 | ||
6c8a649fab | |||
6d1149d6ee | |||
3aca92818f | |||
7de66c4f09 | |||
![]() |
dd9065a083 | ||
![]() |
4a4f9ec3aa | ||
![]() |
c384b2de27 | ||
![]() |
d3e931e634 | ||
![]() |
4dd4afd007 | ||
![]() |
e701ce6722 | ||
24649d335c | |||
3346957b5a | |||
![]() |
6fd4f83882 | ||
![]() |
8c3907c370 | ||
![]() |
712c85ff64 | ||
![]() |
5eee059c1e | ||
976f4b7f36 | |||
![]() |
aaf133d37f | ||
![]() |
9579cb2b4d | ||
fff54f4097 | |||
![]() |
7babb93e10 | ||
![]() |
159e5578d7 | ||
![]() |
14effac507 | ||
![]() |
0850a729ed | ||
df6927b8ff | |||
![]() |
76626120c4 | ||
![]() |
372c84fd05 | ||
![]() |
9490faa364 | ||
![]() |
9df6e2f19f | ||
243265a49c | |||
![]() |
27f2ac75c5 | ||
![]() |
506785f360 | ||
9d5b36b223 | |||
26a04a778b | |||
![]() |
82fd7da144 | ||
![]() |
511a663e6b | ||
![]() |
2d9d577f8b | ||
b47c729a3c | |||
![]() |
122fc28388 | ||
dec4ce2cc4 | |||
![]() |
efe5bd3216 | ||
![]() |
32c779a5a4 | ||
![]() |
2720d5e59a | ||
![]() |
1ed15d2b5c | ||
![]() |
7c3da937a5 | ||
304a67e56f | |||
![]() |
ffbb2b3af3 | ||
![]() |
a0bdc11a05 | ||
![]() |
8710d7d04f | ||
![]() |
4e435c4ed9 | ||
77f8380080 | |||
6154ddbe61 | |||
5801423fb7 | |||
093de3350f |
@ -35,7 +35,7 @@ function dockerLogin() {
|
||||
const region = 'ap-northeast-1';
|
||||
const instanceId = 'cri-fe5eqsg73zl4vd4m';
|
||||
const version = '2018-12-01';
|
||||
const command = `aliyun cr GetAuthorizationToken --profile dev --region ${region} --InstanceId ${instanceId} --version ${version} --force`;
|
||||
const command = `aliyun cr GetAuthorizationToken --profile heijiao-dev --region ${region} --InstanceId ${instanceId} --version ${version} --force`;
|
||||
const output = execSync(command, { encoding: 'utf8' });
|
||||
const result = JSON.parse(output);
|
||||
const password = result.AuthorizationToken.replace(/"/g, '');
|
||||
|
@ -35,7 +35,7 @@ function dockerLogin() {
|
||||
const region = 'ap-northeast-1';
|
||||
const instanceId = 'cri-azy285s79zw3ti5v';
|
||||
const version = '2018-12-01';
|
||||
const command = `aliyun cr GetAuthorizationToken --profile prod --region ${region} --InstanceId ${instanceId} --version ${version} --force`;
|
||||
const command = `aliyun cr GetAuthorizationToken --profile heijiao-prod --region ${region} --InstanceId ${instanceId} --version ${version} --force`;
|
||||
const output = execSync(command, { encoding: 'utf8' });
|
||||
const result = JSON.parse(output);
|
||||
const password = result.AuthorizationToken.replace(/"/g, '');
|
||||
|
@ -1,10 +1,10 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {HeroFun} from '../public/hero';
|
||||
import {PlayerFun} from '../public/player';
|
||||
import {defaultUserAppend, UserFun} from '../public/user';
|
||||
import {ReqBingo, ResBingo} from "../shared/protocols/PtlBingo";
|
||||
import {ReqEmail} from "../monopoly/protocols/PtlEmail";
|
||||
import {EmailFun} from "../public/email";
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { HeroFun } from '../public/hero';
|
||||
import { PlayerFun } from '../public/player';
|
||||
import { defaultUserAppend, UserFun } from '../public/user';
|
||||
import { ReqBingo, ResBingo } from "../shared/protocols/PtlBingo";
|
||||
import { ReqEmail } from "../monopoly/protocols/PtlEmail";
|
||||
import { EmailFun } from "../public/email";
|
||||
|
||||
export default async function (call: ApiCall<ReqBingo, ResBingo>) {
|
||||
// TODO
|
||||
@ -72,37 +72,37 @@ export default async function (call: ApiCall<ReqBingo, ResBingo>) {
|
||||
|
||||
if (!G.gc.item[shell[1]]) return call.error(`道具id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
await PlayerFun.addItem(call, [{a: 'item', t: shell[1], n: parseInt(shell[2])}]);
|
||||
await PlayerFun.addItem(call, [{ a: 'item', t: shell[1], n: parseInt(shell[2]) }]);
|
||||
|
||||
} else if (shell[0] == 'hero') {
|
||||
|
||||
if (!G.gc.hero[shell[1]]) return call.error(`英雄id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
await PlayerFun.addHero(call, [{a: 'item', t: shell[1], n: parseInt(shell[2])}]);
|
||||
await PlayerFun.addHero(call, [{ a: 'item', t: shell[1], n: parseInt(shell[2]) }]);
|
||||
|
||||
} else if (shell[0] == 'equip') {
|
||||
|
||||
if (!G.gc.equip[shell[1]]) return call.error(`装备id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
await PlayerFun.addEquip(call, [{a: 'equip', t: shell[1], n: parseInt(shell[2])}]);
|
||||
await PlayerFun.addEquip(call, [{ a: 'equip', t: shell[1], n: parseInt(shell[2]) }]);
|
||||
|
||||
} else if (shell[0] == 'shiwu') {
|
||||
|
||||
if (!G.gc.shiwu[shell[1]]) return call.error(`饰物id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
if (isNaN(parseInt(shell[3]))) return call.error(`请输入正确的品质`);
|
||||
await PlayerFun.addShiwu(call, [{a: 'shiwu', t: shell[1], n: parseInt(shell[2]), colour: parseInt(shell[3])}]);
|
||||
await PlayerFun.addShiwu(call, [{ a: 'shiwu', t: shell[1], n: parseInt(shell[2]), colour: parseInt(shell[3]) }]);
|
||||
|
||||
} else if (shell[0] == 'peijian') {
|
||||
|
||||
if (!G.gc.peijian[shell[1]]) return call.error(`配件id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
await PlayerFun.addPeijian(call, [{a: 'peijian', t: shell[1], n: parseInt(shell[2])}]);
|
||||
await PlayerFun.addPeijian(call, [{ a: 'peijian', t: shell[1], n: parseInt(shell[2]) }]);
|
||||
|
||||
} else if (shell[0] == 'attr') {
|
||||
if (G.gc.attr[shell[1]] == undefined) return call.error(`道具id不存在:${shell[1]}`);
|
||||
if (isNaN(parseInt(shell[2]))) return call.error(`请输入正确的数量`);
|
||||
await PlayerFun.addAttr(call, [{a: 'attr', t: shell[1], n: parseInt(shell[2])}]);
|
||||
await PlayerFun.addAttr(call, [{ a: 'attr', t: shell[1], n: parseInt(shell[2]) }]);
|
||||
|
||||
} else if (shell.length == 2) {
|
||||
|
||||
@ -141,6 +141,9 @@ export default async function (call: ApiCall<ReqBingo, ResBingo>) {
|
||||
}
|
||||
if (shell[3]) emailMsg.prize = JSON.parse(shell[3])
|
||||
EmailFun.addEmail(emailMsg);
|
||||
} else if (shell[0] == "heroskin") {
|
||||
await PlayerFun.sendPrize(call, [{ a: "heroskin", "t": shell[1], n: 1 }]);
|
||||
}
|
||||
|
||||
call.succ('succ');
|
||||
}
|
42
src/api_s2c/event/huangqijiuguan/ApiDuiHuan.ts
Normal file
42
src/api_s2c/event/huangqijiuguan/ApiDuiHuan.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import HQJGFun from "./fun";
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
import { ReqDuiHuan, ResDuiHuan } from "../../../shared/protocols/event/huangqijiuguan/PtlDuiHuan";
|
||||
|
||||
|
||||
|
||||
export default async function (call: ApiCall<ReqDuiHuan, ResDuiHuan>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let need = [];
|
||||
let prize = [];
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
for (let id in call.req.dh) {
|
||||
let con = hd.data.duihuan.filter(x => x.id == Number(id))[0];
|
||||
|
||||
if ((mydata.duihuan[id] || 0) + call.req.dh[id] > con.buyNum) {
|
||||
return call.error("", { code: -2, message: globalThis.lng.hqjgtips_28 })
|
||||
}
|
||||
|
||||
for (let i = 0; i < call.req.dh[id]; i++) {
|
||||
need.push(...con.need);
|
||||
prize.push(...con.prize);
|
||||
}
|
||||
|
||||
mydata.duihuan[id] = (mydata.duihuan[id] || 0) + call.req.dh[id];
|
||||
}
|
||||
|
||||
// 检查消耗
|
||||
await PlayerFun.checkNeedIsMeet(call, need);
|
||||
await PlayerFun.cutNeed(call, need);
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
// 记录兑换次数
|
||||
await HQJGFun.setMyData(call.uid, hd.hdid, { duihuan: mydata.duihuan });
|
||||
|
||||
call.succ({ prize: prize, data: mydata })
|
||||
}
|
42
src/api_s2c/event/huangqijiuguan/ApiFight.ts
Normal file
42
src/api_s2c/event/huangqijiuguan/ApiFight.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqFight, ResFight } from "../../../shared/protocols/event/huangqijiuguan/PtlFight";
|
||||
import { HuoDongFun } from "../../../public/huodongfun";
|
||||
import HQJGFun from "./fun";
|
||||
import { fightResult } from "../../../shared/fightControl/fightType";
|
||||
import { FightFun } from "../../../public/fight";
|
||||
|
||||
export default async function (call: ApiCall<ReqFight, ResFight>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
|
||||
if (!hd) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
// 个人活动信息
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
// 开始战斗
|
||||
let result: fightResult = await FightFun.fightNpc(call, hd.data.boss.npcId, 'hqjg');
|
||||
|
||||
let up = false;
|
||||
let today = HQJGFun.today(hd);
|
||||
// 历史最大伤害
|
||||
if (result.totalDamage[0] > mydata.bossres.maxdps) {
|
||||
up = true;
|
||||
mydata.bossres.maxdps = result.totalDamage[0];
|
||||
}
|
||||
|
||||
// 今日最大伤害
|
||||
if (result.totalDamage[0] > (mydata.bossres.todaydps[today] || 0)) {
|
||||
up = true;
|
||||
mydata.bossres.todaydps[today] = result.totalDamage[0];
|
||||
}
|
||||
|
||||
// 更新伤害数据
|
||||
up && await HQJGFun.setMyData(call.uid, call.req.hdid, { bossres: mydata.bossres });
|
||||
|
||||
call.succ({ data: mydata, result: result });
|
||||
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
45
src/api_s2c/event/huangqijiuguan/ApiGiftRec.ts
Normal file
45
src/api_s2c/event/huangqijiuguan/ApiGiftRec.ts
Normal file
@ -0,0 +1,45 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqGiftRec, ResGiftRec } from "../../../shared/protocols/event/huangqijiuguan/PtlGiftRec";
|
||||
import HQJGFun from "./fun";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
|
||||
export default async function (call: ApiCall<ReqGiftRec, ResGiftRec>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let gift = hd.data.gift.filter(i => i.id == call.req.giftid)[0];
|
||||
if (!gift || !gift.free) {
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
if ((mydata.giftbuy[call.req.giftid] || { num: 0 }).num + 1 > gift.buynum) {
|
||||
return call.error("", { code: -2, message: globalThis.lng.hqjgtips_28 })
|
||||
}
|
||||
|
||||
let prize: atn[] = [].concat(gift.prize);
|
||||
if (!mydata.giftbuy[call.req.giftid]) {
|
||||
mydata.giftbuy[call.req.giftid] = { num: 0, select: [] };
|
||||
}
|
||||
|
||||
if (gift.dlz) {
|
||||
for (let i = 0; i < gift.dlz.length; i++) {
|
||||
if (!mydata.giftbuy[call.req.giftid].select[i]) {
|
||||
let ids = Object.keys(gift.dlz[i])
|
||||
prize.push(gift.dlz[i][ids[0]]);
|
||||
mydata.giftbuy[call.req.giftid].select[i] = Number(ids[0]);
|
||||
} else {
|
||||
prize.push(gift.dlz[i][mydata.giftbuy[call.req.giftid].select[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
mydata.giftbuy[call.req.giftid].num++;
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, { giftbuy: mydata.giftbuy });
|
||||
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
call.succ({ data: mydata, prize: prize })
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
35
src/api_s2c/event/huangqijiuguan/ApiGiftSelect.ts
Normal file
35
src/api_s2c/event/huangqijiuguan/ApiGiftSelect.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqGiftSelect, ResGiftSelect } from "../../../shared/protocols/event/huangqijiuguan/PtlGiftSelect";
|
||||
import HQJGFun from "./fun";
|
||||
|
||||
export default async function (call: ApiCall<ReqGiftSelect, ResGiftSelect>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let gift = hd.data.gift.filter(i => i.id == call.req.giftid)[0];
|
||||
if (!gift || !gift.dlz) {
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
for (let i = 0; i < call.req.seletc.length; i++) {
|
||||
if (!gift.dlz[i] || !gift.dlz[i][call.req.seletc[i]]) {
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
}
|
||||
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
if (!mydata.giftbuy[call.req.giftid]) {
|
||||
mydata.giftbuy[call.req.giftid] = {
|
||||
num: 0, select: call.req.seletc
|
||||
}
|
||||
} else {
|
||||
mydata.giftbuy[call.req.giftid].select = call.req.seletc;
|
||||
}
|
||||
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, { giftbuy: mydata.giftbuy });
|
||||
|
||||
call.succ({ data: mydata });
|
||||
}
|
15
src/api_s2c/event/huangqijiuguan/ApiOpen.ts
Normal file
15
src/api_s2c/event/huangqijiuguan/ApiOpen.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import HQJGFun from "./fun";
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqOpen, ResOpen } from "../../../shared/protocols/event/huangqijiuguan/PtlOpen";
|
||||
|
||||
export default async (call: ApiCall<ReqOpen, ResOpen>) => {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
call.succ({ data: mydata })
|
||||
}
|
7
src/api_s2c/event/huangqijiuguan/ApiRankList.ts
Normal file
7
src/api_s2c/event/huangqijiuguan/ApiRankList.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqRankList, ResRankList } from "../../../shared/protocols/event/huangqijiuguan/PtlRankList";
|
||||
import HQJGFun from "./fun";
|
||||
|
||||
export default async function (call: ApiCall<ReqRankList, ResRankList>) {
|
||||
HQJGFun.getRankList(call.req.hdid).then(data => call.succ({ rankList: data }));
|
||||
}
|
48
src/api_s2c/event/huangqijiuguan/ApiRecDpsPrize.ts
Normal file
48
src/api_s2c/event/huangqijiuguan/ApiRecDpsPrize.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import HQJGFun, { Data } from "./fun";
|
||||
import { ReqRecDpsPrize, ResRecDpsPrize } from "../../../shared/protocols/event/huangqijiuguan/PtlRecDpsPrize";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
|
||||
export default async function (call: ApiCall<ReqRecDpsPrize, ResRecDpsPrize>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
|
||||
if (!hd) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let data = hd.data as Data
|
||||
|
||||
// 个人活动信息
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
// 领取伤害奖励
|
||||
let prize = [];
|
||||
for (let rec of call.req.recid) {
|
||||
let con = data.bossTask.filter(x => x.id == rec)[0];
|
||||
|
||||
if (mydata.bossres.recdpstask.includes(con.id)) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (con.need > (mydata.bossres.maxdps || 0)) {
|
||||
continue
|
||||
}
|
||||
|
||||
mydata.bossres.recdpstask.push(con.id);
|
||||
prize = prize.concat(con.prize);
|
||||
}
|
||||
|
||||
if (prize.length <= 0) {
|
||||
call.error("", { code: -2, message: lng.hqjgtips_27 });
|
||||
} else {
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
// 设置领奖记录
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, { bossres: mydata.bossres });
|
||||
}
|
||||
|
||||
call.succ({ data: mydata, prize: prize })
|
||||
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
54
src/api_s2c/event/huangqijiuguan/ApiTaskRec.ts
Normal file
54
src/api_s2c/event/huangqijiuguan/ApiTaskRec.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import HQJGFun from "./fun";
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqTaskRec, ResTaskRec } from "../../../shared/protocols/event/huangqijiuguan/PtlTaskRec";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
|
||||
export default async function (call: ApiCall<ReqTaskRec, ResTaskRec>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let today = HQJGFun.today(hd);
|
||||
if (today < call.req.day) {
|
||||
// 未到领取时间
|
||||
return call.error('', { code: -1, message: globalThis.lng.hqjgtips_29 })
|
||||
}
|
||||
|
||||
let prize = [];
|
||||
let taskday = `day${call.req.day}`
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
for (let id of call.req.taskid) {
|
||||
let con = hd.data.task[taskday][id];
|
||||
|
||||
if (!con) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (mydata.task.rec[taskday] && mydata.task.rec[taskday].includes(id)) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (!mydata.task.val[taskday] || (mydata.task.val[taskday][id] || 0) < con.pval) {
|
||||
continue
|
||||
}
|
||||
|
||||
prize = prize.concat(con.prize);
|
||||
mydata.task.rec[taskday] = (mydata.task.rec[taskday] || []).concat(id);
|
||||
}
|
||||
|
||||
if (prize.length <= 0) {
|
||||
return call.error('', { code: -3, message: lng.hqjgtips_28 });
|
||||
}
|
||||
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
// 设置领取记录
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, {task: mydata.task});
|
||||
|
||||
call.succ({ data: mydata, prize: prize });
|
||||
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
54
src/api_s2c/event/huangqijiuguan/ApiZhaoMu.ts
Normal file
54
src/api_s2c/event/huangqijiuguan/ApiZhaoMu.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqZhaoMu, ResZhaoMu } from "../../../shared/protocols/event/huangqijiuguan/PtlZhaoMu";
|
||||
import HQJGFun from "./fun";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
import { PublicShared } from "../../../shared/public/public";
|
||||
import { ActionLog } from "../../../public/actionLog/actionLog";
|
||||
|
||||
export default async function (call: ApiCall<ReqZhaoMu, ResZhaoMu>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let need = [{ a: hd.data.huobi.a, t: hd.data.huobi.t, n: hd.data.huobi.n * call.req.num }];
|
||||
|
||||
// 检测消耗
|
||||
await PlayerFun.checkNeedIsMeet(call, need);
|
||||
|
||||
let prize = [];
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
for (let n = 1; n <= call.req.num; n++) {
|
||||
let num = mydata.zhaomu.num + n;
|
||||
let baodi = hd.data.baodi.filter(x => x.num == num);
|
||||
if (baodi.length > 0) {
|
||||
// 触发保底
|
||||
prize = prize.concat(baodi[0].prize);
|
||||
} else {
|
||||
// 常规掉落
|
||||
let temp = PublicShared.randomDropAny<{
|
||||
a: string, t: string, n: number, p: number
|
||||
}>(
|
||||
hd.data.chouka.filter(x => x.cishu <= num)
|
||||
);
|
||||
prize.push({ a: temp.a, t: temp.t, n: temp.n });
|
||||
}
|
||||
}
|
||||
|
||||
mydata.zhaomu.num += call.req.num;
|
||||
|
||||
// 扣除消耗
|
||||
await PlayerFun.cutNeed(call, need);
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
// 设置抽卡数据
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, { zhaomu: mydata.zhaomu });
|
||||
|
||||
call.succ({ data: mydata, prize: prize })
|
||||
|
||||
G.emit("Class_task_159", 'Class_task_159', call, 1, 0);
|
||||
|
||||
ActionLog.addDayLog(call.uid, { key: "huangqijiuguan/ZhaoMu", val: call.req.num });
|
||||
}
|
44
src/api_s2c/event/huangqijiuguan/ApiZhaoMuPrizeRec.ts
Normal file
44
src/api_s2c/event/huangqijiuguan/ApiZhaoMuPrizeRec.ts
Normal file
@ -0,0 +1,44 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqZhaoMuPrizeRec, ResZhaoMuPrizeRec } from "../../../shared/protocols/event/huangqijiuguan/PtlZhaoMuPrizeRec";
|
||||
import HQJGFun from "./fun";
|
||||
import { PlayerFun } from "../../../public/player";
|
||||
|
||||
export default async function (call: ApiCall<ReqZhaoMuPrizeRec, ResZhaoMuPrizeRec>) {
|
||||
let hd = await HQJGFun.HdInfo(call, call.req.hdid);
|
||||
if (!hd || Object.keys(hd).length <= 0) {
|
||||
// 无此活动
|
||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||
}
|
||||
|
||||
let prize = [];
|
||||
let mydata = await HQJGFun.getMydata(call, hd);
|
||||
|
||||
for (let rec of call.req.recid) {
|
||||
let con = hd.data.choukajiangli[rec.idx];
|
||||
|
||||
if (con.num > mydata.zhaomu.num || mydata.zhaomu.prize.includes(rec.idx)) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (con.dlz) {
|
||||
prize.push(con.dlz[0][rec.sec]);
|
||||
} else {
|
||||
prize = prize.concat(con.prize);
|
||||
}
|
||||
|
||||
mydata.zhaomu.prize.push(rec.idx);
|
||||
}
|
||||
|
||||
if (prize.length <= 0) {
|
||||
return call.error('', { code: -2, message: globalThis.lng.hqjgtips_28 })
|
||||
}
|
||||
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
// 设置领取数据
|
||||
await HQJGFun.setMyData(call.uid, call.req.hdid, { zhaomu: mydata.zhaomu });
|
||||
|
||||
call.succ({ prize: prize, data: mydata })
|
||||
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
510
src/api_s2c/event/huangqijiuguan/fun.ts
Normal file
510
src/api_s2c/event/huangqijiuguan/fun.ts
Normal file
@ -0,0 +1,510 @@
|
||||
import { ApiCall } from "tsrpc"
|
||||
import { ReqAddHuoDong } from "../../../monopoly/protocols/PtlAddHuoDong"
|
||||
import { HuoDongFun } from "../../../public/huodongfun"
|
||||
import { PublicShared } from "../../../shared/public/public"
|
||||
import { EmailFun } from "../../../public/email"
|
||||
import { playerInfo } from "../../../shared/protocols/user/PtlLogin"
|
||||
import { PlayerFun } from "../../../public/player"
|
||||
import { TaskFun } from "../../../public/task"
|
||||
|
||||
// hddata.data
|
||||
export interface Data {
|
||||
show: 1
|
||||
task: {
|
||||
[k: `day${number}`]: {
|
||||
[k: string]: { pval: number, stype: number, cond: string[], tiaozhuan: number, prize: atn[], des: string }
|
||||
}
|
||||
}
|
||||
|
||||
huobi: atn // 抽卡货币
|
||||
boss: {
|
||||
img: string
|
||||
npcId: number
|
||||
}
|
||||
|
||||
// boss排行邮件
|
||||
bossRank_des: string
|
||||
bossRank_title: string
|
||||
|
||||
// boss挑战等级奖励邮
|
||||
bossLvReward_des: string
|
||||
bossLvReward_title: string
|
||||
|
||||
chouka: { a: string, t: string, n: number, p: number, gailv: number, cishu: number }[]
|
||||
|
||||
choukajiangli: { num: number, prize?: any[], dlz: { [k: string]: atn } }[]
|
||||
|
||||
baodi: { num: number, prize: any[] }[]
|
||||
|
||||
gift: { id: number, free: boolean, payId: string, buynum: number, prize: atn[], dlz?: { [k: string]: atn }[] }[]
|
||||
|
||||
duihuan: { id: number, need: atn[], prize: atn[], buyNum: number }[]
|
||||
|
||||
bossLvReward: { lv: number, need: number, prize: atn[] }[]
|
||||
|
||||
bossTask: { id: number, need: number, prize: atn[] }[]
|
||||
|
||||
bossRank: { id: string, rank: [number, number], prize: atn[] }
|
||||
|
||||
zhuanhuan: { start: atn, end: atn }[]
|
||||
end_mail_title: string
|
||||
end_mail_des: string
|
||||
}
|
||||
|
||||
export interface PlayerData {
|
||||
// 招募数据
|
||||
zhaomu: {
|
||||
// 招募次数
|
||||
num: number
|
||||
// 次数奖励领取记录
|
||||
prize: number[]
|
||||
};
|
||||
|
||||
// 任务计数
|
||||
task: {
|
||||
rec: { [k: `day${number}`]: number[] }
|
||||
val: { [k: `day${number}`]: { [id: string]: number } }
|
||||
},
|
||||
|
||||
// 礼包购买记录
|
||||
giftbuy: { [id: string]: { num: number, select: number[] } }
|
||||
|
||||
// 兑换次数记录
|
||||
duihuan: { [id: string]: number }
|
||||
|
||||
// boss挑战数据
|
||||
bossres: {
|
||||
// 历史最大伤害
|
||||
maxdps: number
|
||||
// 今日最大伤害
|
||||
todaydps: {
|
||||
[k: string]: number
|
||||
}
|
||||
// 今日奖励领取记录
|
||||
recdpstask: number[]
|
||||
}
|
||||
}
|
||||
|
||||
export default class HQJGFun {
|
||||
static get htype() {
|
||||
return 15
|
||||
};
|
||||
|
||||
static rankkey(hdid: number) {
|
||||
return `rank:huangqijiuguan_${hdid}`
|
||||
}
|
||||
|
||||
/** 默认数据 */
|
||||
static get defaultData() {
|
||||
return {
|
||||
zhaomu: {
|
||||
num: 0,
|
||||
prize: []
|
||||
},
|
||||
task: {
|
||||
val: {},
|
||||
rec: {}
|
||||
},
|
||||
giftbuy: {},
|
||||
duihuan: {},
|
||||
bossres: {
|
||||
maxdps: 0,
|
||||
zhanli: 0,
|
||||
todaydps: {},
|
||||
recdpstask: []
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
static today(hdinfo: ReqAddHuoDong) {
|
||||
/**
|
||||
* 获取活动开启到第几天 从1开始
|
||||
*/
|
||||
return PublicShared.getDiff(hdinfo.stime, G.time)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取排行榜
|
||||
*/
|
||||
static async getRankList(hdid: number) {
|
||||
let uids = await G.mongodb.collection("event").find(
|
||||
{ type: this.dataType(hdid), "bossres.maxdps": { $gt: 0 } },
|
||||
{
|
||||
sort: { "bossres.maxdps": -1, "bossres.zhanli": -1 },
|
||||
projection: { uid: 1, bossres: 1 }
|
||||
}
|
||||
).limit(50).toArray();
|
||||
|
||||
let userinfo = await G.mongodb.collection('user').find(
|
||||
{ uid: { $in: uids.map(v => v.uid) } },
|
||||
).toArray();
|
||||
|
||||
let res = [];
|
||||
for (let rank = 1; rank <= uids.length; rank++) {
|
||||
let uid = uids[rank - 1].uid;
|
||||
let user = userinfo.find(v => v.uid == uid);
|
||||
if (user) {
|
||||
res.push({ rank, ...user, valArr: [uids[rank - 1].bossres.maxdps] });
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
/** 数据类型 */
|
||||
static dataType(hdid: number) {
|
||||
return `huangqijiuguan_${hdid}` as `huangqijiuguan_${number}`
|
||||
}
|
||||
|
||||
/** 获取活动数据 */
|
||||
static async HdInfo(call: ApiCall, hdid?: number): Promise<ReqAddHuoDong & { data: Data }> {
|
||||
if (!hdid) {
|
||||
let hdlist = await HuoDongFun.gethdList(
|
||||
call, this.htype
|
||||
);
|
||||
return hdlist.length > 0 ? hdlist[0] : null
|
||||
} else {
|
||||
return await HuoDongFun.getHdidInfo(call, hdid) as any as ReqAddHuoDong & { data: Data }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** 获取我的数据 */
|
||||
static async getMydata(call: ApiCall, hd?: ReqAddHuoDong) {
|
||||
if (!hd) {
|
||||
hd = await HQJGFun.HdInfo(call);
|
||||
}
|
||||
let data = await G.mongodb.cEvent(this.dataType(hd.hdid)).findOne({
|
||||
uid: call.uid, type: this.dataType(hd.hdid)
|
||||
}, { projection: { _id: 0 } });
|
||||
|
||||
if (!data) {
|
||||
data = (await G.mongodb.cEvent(this.dataType(hd.hdid)).findOneAndUpdate({
|
||||
uid: call.uid, type: this.dataType(hd.hdid)
|
||||
}, {
|
||||
$set: this.defaultData
|
||||
}, { upsert: true, returnDocument: 'after', projection: { _id: 0 } })).value;
|
||||
}
|
||||
|
||||
let today = this.today(hd);
|
||||
if (!data.task.val[`day${today}`]) {
|
||||
data.task.val[`day${today}`] = {};
|
||||
let tasks = hd.data.task[`day${today}`];
|
||||
for (let taskid in tasks) {
|
||||
let taskcon = tasks[taskid];
|
||||
data.task.val[`day${today}`][taskid] = await TaskFun.getTaskNval(call, taskcon);
|
||||
}
|
||||
await G.mongodb.collection('event').updateOne(
|
||||
{ uid: call.uid, type: this.dataType(hd.hdid) },
|
||||
{ $set: { [`task.val.day${today}`]: data.task.val[`day${today}`] } }
|
||||
);
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
|
||||
/** 设置我的数据 */
|
||||
static async setMyData(uid: string, hdid: number, update: { [k in keyof Partial<PlayerData>]: PlayerData[k] }) {
|
||||
let res = await G.mongodb.cEvent(this.dataType(hdid)).updateOne(
|
||||
{ uid: uid, type: this.dataType(hdid) }, { $set: update }, { upsert: true }
|
||||
);
|
||||
|
||||
if (res.upsertedCount == 1) {
|
||||
console.log("===>", uid, hdid, update);
|
||||
await G.mongodb.cEvent(this.dataType(hdid)).updateOne(
|
||||
{ uid: uid, type: this.dataType(hdid) }, { $set: Object.assign(this.defaultData, update) }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 每日伤害等级奖励结算
|
||||
*/
|
||||
static async dayDpsLvPrize(time: number) {
|
||||
console.log(
|
||||
"黄旗酒馆 每日伤害等级奖励结算 开始执行。。。"
|
||||
)
|
||||
// 取stime小于当前时间的最后一条数据
|
||||
let hdinfo = await G.mongodb.collection("hdinfo").find({
|
||||
htype: this.htype, stime: { $lte: time }
|
||||
}, { sort: { stime: -1 } }).limit(1).toArray();
|
||||
|
||||
// 没有活动数
|
||||
if (hdinfo.length <= 0) {
|
||||
return
|
||||
}
|
||||
|
||||
let hd = hdinfo[0];
|
||||
let hdid = hdinfo[0].hdid;
|
||||
// 活动结束
|
||||
if (hd.etime < G.time - 300) {
|
||||
return
|
||||
}
|
||||
|
||||
let today = PublicShared.getDiff(hd.stime, G.time - 300);
|
||||
G.mongodb.collection("event").find({ type: `huangqijiuguan_${hdid}` }).toArray().then(datas => {
|
||||
let hddata = hd.data as Data;
|
||||
for (let i = 0; i < datas.length; i++) {
|
||||
let data = datas[i];
|
||||
|
||||
let lvprize: { lv: number; need?: number; prize?: atn[] };
|
||||
let dps = data.bossres.todaydps[today] || 0;
|
||||
for (let lvinfo of hddata.bossLvReward) {
|
||||
if (dps < lvinfo.need) {
|
||||
continue;
|
||||
}
|
||||
if (!lvprize || lvprize.lv < lvinfo.lv) {
|
||||
lvprize = lvinfo;
|
||||
}
|
||||
}
|
||||
|
||||
if (!lvprize) continue
|
||||
let title = hddata.bossLvReward_title;
|
||||
let content = hddata.bossLvReward_des;
|
||||
EmailFun.addEmail({
|
||||
uid: data.uid,
|
||||
title: title,
|
||||
type: "system",
|
||||
content: content,
|
||||
prize: lvprize.prize,
|
||||
contentInsertArr: [lvprize.lv],
|
||||
})
|
||||
}
|
||||
console.log(
|
||||
"黄旗酒馆 每日伤害等级奖励结算 执行完成!!!"
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 最大伤害排行奖励结算
|
||||
*/
|
||||
static async endDpsRankPrize(time: number) {
|
||||
console.log(
|
||||
"黄旗酒馆 最大伤害排行奖励结算 开始执行。。。"
|
||||
)
|
||||
let today = PublicShared.getToDayZeroTime(time + 300);
|
||||
let yesterday = PublicShared.getToDayZeroTime(time - 300);
|
||||
|
||||
// 查询昨天23:59:00或者今天00:00:00结束的活动
|
||||
let hdinfo = await G.mongodb.collection("hdinfo").find({
|
||||
htype: this.htype, rtime: { $gt: yesterday, $lte: today }
|
||||
}).toArray();
|
||||
|
||||
// 没有活动数 或者发奖标识已设置
|
||||
if (hdinfo.length <= 0 || hdinfo[0].data.sendrank) {
|
||||
return
|
||||
}
|
||||
|
||||
let hd = hdinfo[0];
|
||||
let hdid = hdinfo[0].hdid;
|
||||
let hddata = hdinfo[0].data as Data;
|
||||
if (hd.data.sendrank) {
|
||||
return
|
||||
}
|
||||
|
||||
let uids = await G.mongodb.collection("event").find(
|
||||
{ type: this.dataType(hdid) },
|
||||
{
|
||||
sort: { "bossres.maxdps": -1, "bossres.zhanli": -1 },
|
||||
projection: { uid: 1, bossres: 1 }
|
||||
}
|
||||
).toArray();
|
||||
|
||||
for (let rank = 1; rank <= uids.length; rank++) {
|
||||
let con = hd.data.bossRank.filter(
|
||||
(x: { rank: number[] }) => rank >= x.rank[0] && rank <= x.rank[1]
|
||||
)[0];
|
||||
if (!con) continue;
|
||||
// 发送排名奖励
|
||||
await EmailFun.addEmail({
|
||||
uid: uids[rank - 1].uid,
|
||||
title: hd.data.bossRank_title,
|
||||
type: "system",
|
||||
content: hd.data.bossRank_des,
|
||||
prize: con.prize,
|
||||
contentInsertArr: [rank],
|
||||
})
|
||||
}
|
||||
// 标记已发送
|
||||
await G.mongodb.collection("hdinfo").updateOne(
|
||||
{ hdid: hdid }, { $set: { "data.sendrank": true } }
|
||||
);
|
||||
// 货币兑换
|
||||
G.mongodb.collection("user").find().toArray().then(async (users) => {
|
||||
for (let i = 0; i < users.length; i++) {
|
||||
let prize = [];
|
||||
let change = {};
|
||||
let user = users[i];
|
||||
for (let con of hddata.zhuanhuan) {
|
||||
let num = user[con.start.t];
|
||||
if (num < con.start.n) {
|
||||
continue
|
||||
}
|
||||
change[con.start.t] = 0;
|
||||
prize.push({
|
||||
a: con.end.a, t: con.end.t, n: con.end.n * (num / con.start.n),
|
||||
})
|
||||
}
|
||||
if (prize.length <= 0) continue
|
||||
// 扣除消耗
|
||||
await PlayerFun.changeAttr(user.uid, change);
|
||||
G.server?.sendMsgByUid(user.uid, "msg_s2c/PlayerChange", change);
|
||||
// 发送奖励邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: user.uid,
|
||||
type: "system",
|
||||
prize: prize,
|
||||
title: hddata.end_mail_title,
|
||||
content: hddata.end_mail_des,
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
console.log(
|
||||
"黄旗酒馆 最大伤害排行奖励结算 执行结束!!!"
|
||||
)
|
||||
}
|
||||
|
||||
/**设置任务 */
|
||||
static async setTaskVal(call: ApiCall, stype: number, val: number, chkCall: Function, chkval: number = 0, isinc: number = 0, alchangeVal: Function, arg) {
|
||||
// 活动过期,不计数
|
||||
let hd = await this.HdInfo(call)
|
||||
if (!hd) return
|
||||
|
||||
let today = this.today(hd);
|
||||
let tasks = hd.data.task[`day${today}`];
|
||||
|
||||
if (!tasks) return
|
||||
|
||||
let mydata = await this.getMydata(call, hd);
|
||||
|
||||
let isset = 0;
|
||||
if (!mydata.task.val[`day${today}`]) {
|
||||
isset = 1;
|
||||
mydata.task.val[`day${today}`] = {}
|
||||
for (let taskid in tasks) {
|
||||
let taskcon = tasks[taskid];
|
||||
mydata.task.val[`day${today}`][taskid] = await TaskFun.getTaskNval(call, taskcon);
|
||||
}
|
||||
}
|
||||
|
||||
for (let taskid of Object.keys(tasks)) {
|
||||
let taskCon = tasks[taskid];
|
||||
if (taskCon.stype != stype) continue
|
||||
|
||||
// 不符合任务要求
|
||||
if (!(await chkCall(taskCon["cond"], chkval, arg))) continue
|
||||
|
||||
// 根据需求改写
|
||||
val = await alchangeVal(call, taskCon, val, arg)
|
||||
|
||||
isset = 1
|
||||
if (isinc != 1) { // 累加
|
||||
mydata.task.val[`day${today}`][taskid] = val;
|
||||
} else {
|
||||
mydata.task.val[`day${today}`][taskid] = (mydata.task.val[`day${today}`][taskid] || 0) + val;
|
||||
}
|
||||
}
|
||||
|
||||
// 设置任务
|
||||
if (isset == 1) {
|
||||
await G.mongodb.collection('event').updateOne({ uid: call.uid, type: this.dataType(hd.hdid) }, {
|
||||
$set: {
|
||||
[`task.val.day${today}`]: mydata.task.val[`day${today}`]
|
||||
}
|
||||
})
|
||||
|
||||
if ((await this.getHongDian(call, hd, mydata)).show) {
|
||||
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static async buy(player: playerInfo, payId: string, payArgs: any, call: ApiCall) {
|
||||
let hd = await this.HdInfo(call);
|
||||
|
||||
if (!hd) { // 活动不存在
|
||||
return
|
||||
}
|
||||
|
||||
// 判断购买次数
|
||||
let gift = hd.data.gift.filter(x => x.payId == payId)[0];
|
||||
if (!gift) {
|
||||
return
|
||||
}
|
||||
|
||||
let mydata = await this.getMydata(call, hd);
|
||||
if (!mydata.giftbuy[gift.id]) {
|
||||
mydata.giftbuy[gift.id] = { num: 0, select: [] };
|
||||
}
|
||||
|
||||
let prize: atn[] = [];
|
||||
if (mydata.giftbuy[gift.id].num + 1 > gift.buynum) {
|
||||
let pay = G.gc.pay[payId];
|
||||
prize.push({ a: "attr", t: "rmbmoney", n: pay.payExp[0].n })
|
||||
} else {
|
||||
prize = gift.prize;
|
||||
for (let i = 0; i < gift.dlz.length; i++) {
|
||||
if (!mydata.giftbuy[gift.id].select[i]) {
|
||||
let ids = Object.keys(gift.dlz[i])
|
||||
prize.push(gift.dlz[i][ids[0]]);
|
||||
mydata.giftbuy[gift.id].select[i] = Number(ids[0]);
|
||||
} else {
|
||||
prize.push(gift.dlz[i][mydata.giftbuy[gift.id].select[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mydata.giftbuy[gift.id].num++;
|
||||
// 发送奖励
|
||||
await PlayerFun.sendPrize(call, prize, true);
|
||||
await this.setMyData(call.uid, hd.hdid, { giftbuy: mydata.giftbuy });
|
||||
}
|
||||
|
||||
static async getHongDian(call: ApiCall, hd: ReqAddHuoDong, mydata?: PlayerData) {
|
||||
let hdid = hd.hdid;
|
||||
let hddata = hd.data as Data;
|
||||
|
||||
mydata = mydata || await this.getMydata(call, hd);
|
||||
// 当黄旗招募存在可领取的可选奖励时
|
||||
for (let i = 0; i < hddata.choukajiangli.length; i++) {
|
||||
let ele = hddata.choukajiangli[i];
|
||||
if (mydata.zhaomu.num >= ele.num && !mydata.zhaomu.prize.includes(i)) {
|
||||
return { show: true }
|
||||
}
|
||||
}
|
||||
|
||||
let today = this.today(hd);
|
||||
// 当今日没有进行boss挑战时
|
||||
if (!mydata.bossres.todaydps[today]) {
|
||||
return { show: true }
|
||||
}
|
||||
|
||||
// 当每日任务界面存在可领取的任务奖励时
|
||||
for (let day = 1; day <= today; day++) {
|
||||
for (let taskid in hddata.task[`day${day}`]) {
|
||||
let task = hddata.task[`day${day}`][taskid];
|
||||
if (mydata.task.val[`day${day}`]?.[taskid] >= task.pval && !(mydata.task.rec?.[`day${day}`] || []).includes(Number(taskid))) {
|
||||
return { show: true }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 当干部挑战界面存在可领取的挑战任务奖励时
|
||||
for (let mb of hddata.bossTask) {
|
||||
if (mb.need <= mydata.bossres.maxdps && !mydata.bossres.recdpstask.includes(mb.id)) {
|
||||
return { show: true }
|
||||
}
|
||||
}
|
||||
|
||||
// 当存在可以领取的免费礼包时
|
||||
for (let gift of hddata.gift) {
|
||||
if (gift.free && (mydata.giftbuy[gift.id]?.num || 0) < gift.buynum) {
|
||||
return { show: true }
|
||||
}
|
||||
}
|
||||
|
||||
return { show: false }
|
||||
}
|
||||
}
|
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;
|
||||
}
|
||||
|
||||
await HeroFun.changeHeroAttr(call, hero, { skin: "" });
|
||||
|
||||
call.succ({});
|
||||
}
|
38
src/api_s2c/heroskin/ApiUplv.ts
Normal file
38
src/api_s2c/heroskin/ApiUplv.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { PlayerFun } from "../../public/player";
|
||||
import { ReqUplv, ResUplv } from "../../shared/protocols/heroskin/PtlUplv";
|
||||
import HeroSkinFun from "../../public/heroskin";
|
||||
|
||||
|
||||
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[call.req.skid];
|
||||
|
||||
let need = [];
|
||||
for (let i = 0; i < call.req.lv; i++) {
|
||||
need = need.concat(
|
||||
G.gc.heroSkinLv[skinconf.colour][cur_lv + i].need
|
||||
)
|
||||
let conf = G.gc.heroSkin[call.req.skid];
|
||||
need.push({ a: "item", "t": conf.heroId, "n": G.gc.heroSkinLv[skinconf.colour][cur_lv + i].suipian });
|
||||
}
|
||||
|
||||
// 检测消耗
|
||||
await PlayerFun.checkNeedIsMeet(call, need);
|
||||
|
||||
// 扣除消耗
|
||||
await PlayerFun.cutNeed(call, need);
|
||||
|
||||
// 更新等级
|
||||
skin[call.req.skid] = cur_lv + call.req.lv;
|
||||
|
||||
// 更新skinlv
|
||||
await 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 { ReqWear, ResWear } from "../../shared/protocols/heroskin/PtlWear";
|
||||
import HeroSkinFun from "../../public/heroskin";
|
||||
|
||||
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[call.req.skid];
|
||||
if (skinconf.heroId != hero.heroId) { // 皮肤不属于该英雄
|
||||
call.error(lng.hero_21);
|
||||
return;
|
||||
}
|
||||
|
||||
await HeroFun.changeHeroAttr(call, hero, { skin: call.req.skid });
|
||||
|
||||
call.succ({});
|
||||
}
|
@ -21,6 +21,7 @@ import kfjsFun from "../../public/kaifujingsai";
|
||||
import {RankKfjs} from "../../public/rank/rank_kfjs";
|
||||
import {ShopFun} from "../../public/shop";
|
||||
import {Christmasfun} from '../event/christmas/fun';
|
||||
import HQJGFun from '../event/huangqijiuguan/fun';
|
||||
|
||||
export class HongDianFun {
|
||||
/**黑榜争霸红点 */
|
||||
@ -352,6 +353,10 @@ export class HuoDongHongDianFun {
|
||||
// 检测 htype 10 元旦活动红点
|
||||
ishd = await this.yuandan(call, element)
|
||||
}
|
||||
if (element.htype == 15) {
|
||||
// 检测 htype 15 黄芪酒馆活动红点
|
||||
ishd = await HQJGFun.getHongDian(call, element)
|
||||
}
|
||||
|
||||
// 此活动有红点
|
||||
if (ishd.show) {
|
||||
|
@ -20,7 +20,8 @@ export default async function (call: ApiCall<ReqChangeInfo, ResChangeInfo>) {
|
||||
vip: call.conn.gud.vip,
|
||||
lsyx: call.conn.lshd.hero,
|
||||
model: call.conn.gud.model,
|
||||
active: active
|
||||
active: active,
|
||||
heroskin: call.conn.gud.heroskin
|
||||
});
|
||||
|
||||
if (!isMeet && call.req.type != 'headFrame' && call.req.type != 'chatFrame') return call.error(globalThis.lng.user_1);
|
||||
|
17
src/api_s2c/weiwang/ApiOpen.ts
Normal file
17
src/api_s2c/weiwang/ApiOpen.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqOpen, ResOpen } from "../../shared/protocols/weiwang/PtlOpen";
|
||||
|
||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
let data = await G.mongodb.collection("weiwang").findOne({ uid: call.uid });
|
||||
|
||||
if (!data) {
|
||||
// 初始化威望数据
|
||||
data = (await G.mongodb.collection("weiwang").findOneAndUpdate(
|
||||
{ uid: call.uid },
|
||||
{ $set: { hp: 0, atk: 0, def: 0 } },
|
||||
{ upsert: true, returnDocument: "after" }
|
||||
)).value;
|
||||
}
|
||||
|
||||
call.succ({ lv: { hp: data.hp, atk: data.atk, def: data.def } });
|
||||
}
|
94
src/api_s2c/weiwang/ApiUpLv.ts
Normal file
94
src/api_s2c/weiwang/ApiUpLv.ts
Normal file
@ -0,0 +1,94 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqUpLv, ResUpLv } from "../../shared/protocols/weiwang/PtlUpLv";
|
||||
import { PlayerFun } from "../../public/player";
|
||||
|
||||
|
||||
export default async function (call: ApiCall<ReqUpLv, ResUpLv>) {
|
||||
let data = await G.mongodb.collection("weiwang").findOne({ uid: call.uid });
|
||||
|
||||
if (!data) {
|
||||
// 初始化威望数据
|
||||
data = (await G.mongodb.collection("weiwang").findOneAndUpdate(
|
||||
{ uid: call.uid },
|
||||
{ $set: { hp: 0, atk: 0, def: 0 } },
|
||||
{ upsert: true, returnDocument: "after" }
|
||||
)).value;
|
||||
}
|
||||
|
||||
let cur_lv = data[call.req.type];
|
||||
let min_lv = Math.min(data.atk, data.def, data.hp);
|
||||
|
||||
let ids = Object.keys(G.gc.renown_level).sort(
|
||||
(a, b) => Number(a) - Number(b)
|
||||
);
|
||||
|
||||
let config;
|
||||
for (let id of ids) {
|
||||
config = G.gc.renown_level[id];
|
||||
if (min_lv < config.maxlevel) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 超过档期威望的最大等级
|
||||
if (cur_lv + call.req.lv > config.maxlevel) {
|
||||
return call.error("", { code: -1, message: lng.weiwang_12 });
|
||||
}
|
||||
|
||||
let need = [{ a: config.cost[0].a, t: config.cost[0].t, n: config.cost[0].n * call.req.lv }];
|
||||
|
||||
// 检测消耗是否足够
|
||||
await PlayerFun.checkNeedIsMeet(call, need);
|
||||
|
||||
// 扣除消耗
|
||||
await PlayerFun.cutNeed(call, need);
|
||||
|
||||
data[call.req.type] += call.req.lv;
|
||||
|
||||
// 重新计算buff
|
||||
let buff = calc_weiwang_buff(data.atk, data.def, data.hp);
|
||||
G.mongodb.collection("weiwang").updateOne({ uid: call.uid }, {
|
||||
$set: { buff: buff },
|
||||
$inc: { [call.req.type]: call.req.lv },
|
||||
});
|
||||
|
||||
call.succ({ lv: { hp: data.hp, atk: data.atk, def: data.def } });
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算当前威望buff
|
||||
*/
|
||||
function calc_weiwang_buff(atk: number, def: number, hp: number) {
|
||||
let buff: k_v<number> = {
|
||||
"hp": 0, "def": 0, "atk": 0
|
||||
};
|
||||
|
||||
let ids = Object.keys(G.gc.renown_level).sort(
|
||||
(a, b) => Number(a) - Number(b)
|
||||
);
|
||||
|
||||
for (let i = 0; i < ids.length; i++) {
|
||||
let curr = G.gc.renown_level[ids[i]];
|
||||
if (i == 0) {
|
||||
buff["hp"] += curr.hp * Math.min(curr.maxlevel, hp);
|
||||
buff["atk"] += curr.atk * Math.min(curr.maxlevel, atk);
|
||||
buff["def"] += curr.def * Math.min(curr.maxlevel, def);
|
||||
} else {
|
||||
let prev = G.gc.renown_level[ids[i - 1]];
|
||||
|
||||
if (hp > prev.maxlevel) {
|
||||
buff["hp"] += curr.hp * Math.min(hp - prev.maxlevel, curr.maxlevel - prev.maxlevel);
|
||||
}
|
||||
|
||||
if (atk > prev.maxlevel) {
|
||||
buff["atk"] += curr.atk * Math.min(atk - prev.maxlevel, curr.maxlevel - prev.maxlevel);
|
||||
}
|
||||
|
||||
if (def > prev.maxlevel) {
|
||||
buff["def"] += curr.def * Math.min(def - prev.maxlevel, curr.maxlevel - prev.maxlevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return buff;
|
||||
}
|
@ -1316,6 +1316,34 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"name": "weiwangbuff",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"indexSignature": {
|
||||
"keyType": "String",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"name": "heroskin",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"indexSignature": {
|
||||
"keyType": "String",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -1707,6 +1735,27 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "skin",
|
||||
"type": {
|
||||
"type": "Union",
|
||||
"members": [
|
||||
{
|
||||
"id": 0,
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -11,6 +11,7 @@ export class Encrypt {
|
||||
if (buf instanceof Uint8Array) {
|
||||
return decryptUint8Array(buf);
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
import 'tsrpc';
|
||||
import { ApiCall, BaseConnection, ConnectionStatus, WsServer } from 'tsrpc';
|
||||
import { Wjjl } from './module/collection_wjjl';
|
||||
@ -13,7 +14,7 @@ import { ResLogin } from './shared/protocols/user/PtlLogin';
|
||||
import { HeroShared, otherBuff } from './shared/public/hero';
|
||||
import { PlayerShared } from './shared/public/player';
|
||||
import { PublicShared } from './shared/public/public';
|
||||
import {RankKfjs} from "./public/rank/rank_kfjs";
|
||||
import { RankKfjs } from "./public/rank/rank_kfjs";
|
||||
import { setGud } from './public/gud';
|
||||
|
||||
export function extendType() {
|
||||
@ -51,7 +52,7 @@ declare module 'tsrpc' {
|
||||
/**API 锁 */
|
||||
apiLock: k_v<number>;
|
||||
/**获取默认上阵战斗数据 */
|
||||
getDefaultFightData(def?: k_v<string>): Promise<joinFightData>;
|
||||
getDefaultFightData(def?: k_v<string>, ext_buff?: { [type: string]: k_v<number> }): Promise<joinFightData>;
|
||||
/**刷新上阵英雄战力 */
|
||||
refreshPower(): Promise<any>;
|
||||
/**玩家计算在线时长时间戳 */
|
||||
@ -124,7 +125,7 @@ Object.defineProperties(BaseConnection.prototype, {
|
||||
},
|
||||
});
|
||||
|
||||
BaseConnection.prototype.getDefaultFightData = async function (this: BaseConnection, def?: k_v<string>) {
|
||||
BaseConnection.prototype.getDefaultFightData = async function (this: BaseConnection, def?: k_v<string>, ext_buff?: { [type: string]: k_v<number> }) {
|
||||
let posObj = def || this.heroPos;
|
||||
let roles: k_v<roleDataType> = {};
|
||||
|
||||
@ -132,7 +133,7 @@ BaseConnection.prototype.getDefaultFightData = async function (this: BaseConnect
|
||||
posObj = this.gud.matrixPos[this.gud.selectMatrix];
|
||||
}
|
||||
|
||||
let heros = await HeroFun.getHeros(this, Object.values(posObj).filter(_id => _id != '') as string[]);
|
||||
let heros = await HeroFun.getHeros(this, Object.values(posObj).filter(_id => _id != ''));
|
||||
|
||||
Object.entries(posObj).forEach(obj => {
|
||||
let pos = obj[0];
|
||||
@ -143,7 +144,11 @@ BaseConnection.prototype.getDefaultFightData = async function (this: BaseConnect
|
||||
roles[pos] = {
|
||||
...hero,
|
||||
attr: {
|
||||
...HeroShared.getHeroBasicAttr(hero, { ...this.otherBuff, allBuff: HeroShared.getAllBuff(heros) }, Number(pos))
|
||||
...HeroShared.getHeroBasicAttr(hero, {
|
||||
...ext_buff,
|
||||
...this.otherBuff,
|
||||
allBuff: HeroShared.getAllBuff(heros)
|
||||
}, Number(pos))
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -188,40 +193,40 @@ BaseConnection.prototype.refreshPower = async function (this: BaseConnection<Ser
|
||||
zj_zhishi: 0
|
||||
}
|
||||
// 主角等级属性获取
|
||||
|
||||
|
||||
zjBuff.zj_atk += PublicShared.eval(G.gc.com.zjcz_atk.value as any as string, { lv: this.gud.lv })
|
||||
zjBuff.zj_def += PublicShared.eval(G.gc.com.zjcz_def.value as any as string, { lv: this.gud.lv })
|
||||
zjBuff.zj_liliang += PublicShared.eval(G.gc.com.zjcz_liliang.value as any as string, { lv: this.gud.lv })
|
||||
zjBuff.zj_zhishi += PublicShared.eval(G.gc.com.zjcz_zhishi.value as any as string, { lv: this.gud.lv })
|
||||
// 图鉴属性获取
|
||||
for(let i = 1; i <= this.gud.tujianLv; i++) {
|
||||
for (let i = 1; i <= this.gud.tujianLv; i++) {
|
||||
let item = G.gc.tujian_jc[i]
|
||||
if(item) {
|
||||
if (item) {
|
||||
// 各等级累加
|
||||
for(let k in item.buff) {
|
||||
for (let k in item.buff) {
|
||||
zjBuff[k] += item.buff[k]
|
||||
}
|
||||
}
|
||||
}
|
||||
// 名望属性加成
|
||||
if(this.gud.renown > 0) {
|
||||
if (this.gud.renown > 0) {
|
||||
let mwConf = G.gc.mw_dj
|
||||
// 各等级累加
|
||||
for(let i = 1; i <= this.gud.renown; i++) {
|
||||
for (let i = 1; i <= this.gud.renown; i++) {
|
||||
let mwData = mwConf[i]
|
||||
for(let k in mwData.buff) {
|
||||
for (let k in mwData.buff) {
|
||||
zjBuff[k] += mwData.buff[k]
|
||||
}
|
||||
}
|
||||
}
|
||||
// 训练计划加成
|
||||
let skillConf = G.gc.xunlianjihua
|
||||
if(this.gud.skills) {
|
||||
for(let i in this.gud.skills) {
|
||||
if (this.gud.skills) {
|
||||
for (let i in this.gud.skills) {
|
||||
let item = skillConf[i]
|
||||
for(let j in zjBuff) {
|
||||
if((j + 'pro') == item.skill) {
|
||||
zjBuff[j] += Math.floor(zjBuff[j] * PublicShared.eval(item.v, { slv: this.gud.skills[i]}))
|
||||
for (let j in zjBuff) {
|
||||
if ((j + 'pro') == item.skill) {
|
||||
zjBuff[j] += Math.floor(zjBuff[j] * PublicShared.eval(item.v, { slv: this.gud.skills[i] }))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -238,15 +243,15 @@ BaseConnection.prototype.refreshPower = async function (this: BaseConnection<Ser
|
||||
// console.log(zjBuff)
|
||||
if (power != this.gud.power) {
|
||||
let dbUpdate = { power: power };
|
||||
if(power > this.gud?.maxpower){
|
||||
if (power > this.gud?.maxpower) {
|
||||
//记录历史最大战力
|
||||
//this.gud.maxpower = power;
|
||||
dbUpdate['maxpower'] = power;
|
||||
}
|
||||
|
||||
//this.gud.power = power;
|
||||
setGud(this.uid,dbUpdate);
|
||||
|
||||
setGud(this.uid, dbUpdate);
|
||||
|
||||
G.mongodb.collection('user').updateOne({ uid: this.uid }, { $set: dbUpdate });
|
||||
this.sendMsg('msg_s2c/PlayerChange', dbUpdate);
|
||||
|
||||
@ -310,9 +315,9 @@ ApiCall.prototype.addEventMsg = function (this: ApiCall) {
|
||||
if (!this.eventMsg[msgName][msgKey]) this.eventMsg[msgName][msgKey] = {};
|
||||
PublicShared.mergeProperty(this.eventMsg[msgName][msgKey], msg);
|
||||
} else {
|
||||
if(doubleApi.includes(this.service?.name) && this.service?.type=='api'&& Object.keys(this.eventMsg[msgName])[0]==Object.keys(msgKey)[0]){
|
||||
if (doubleApi.includes(this.service?.name) && this.service?.type == 'api' && Object.keys(this.eventMsg[msgName])[0] == Object.keys(msgKey)[0]) {
|
||||
this.eventMsg[msgName] = msgKey
|
||||
}else {
|
||||
} else {
|
||||
PublicShared.mergeProperty(this.eventMsg[msgName], msgKey);
|
||||
}
|
||||
}
|
||||
|
@ -15,13 +15,15 @@ import { ZhanLingTasks } from './public/zhanling';
|
||||
import { player } from './shared/protocols/user/type';
|
||||
import { PublicShared } from './shared/public/public';
|
||||
import { setGud } from './public/gud';
|
||||
import {checkResetBuyLog} from "./api_s2c/event/zhoumolibao/ApiOpen";
|
||||
import {Christmasfun} from "./api_s2c/event/christmas/fun";
|
||||
import {PushGiftFun} from "./public/pushgift";
|
||||
import {LeiChongLiBaoBuyGift} from "./api_s2c/event/leichonglibao/ApiReceive";
|
||||
import { checkResetBuyLog } from "./api_s2c/event/zhoumolibao/ApiOpen";
|
||||
import { PushGiftFun } from "./public/pushgift";
|
||||
import { LeiChongLiBaoBuyGift } from "./api_s2c/event/leichonglibao/ApiReceive";
|
||||
import { HongDianChange } from './api_s2c/hongdian/fun';
|
||||
import HQJGFun from './api_s2c/event/huangqijiuguan/fun';
|
||||
|
||||
export type gEventType = {
|
||||
/**新的一天 */
|
||||
NEW_DAY: (time: number) => void;
|
||||
/**玩家断开连接 */
|
||||
PLAYER_DISCONNECT: (uid: string) => void;
|
||||
/**玩家修改名字 */
|
||||
@ -152,6 +154,8 @@ export type gEventType = {
|
||||
Class_task_157: (eventname, call, val, chkVal) => void;
|
||||
/**今日参与{1}次抓娃娃小游戏 */
|
||||
Class_task_158: (eventname, call, val, chkVal) => void;
|
||||
/**黄旗酒馆累计抽卡X次*/
|
||||
Class_task_159: (eventname, call, val, chkVal) => void;
|
||||
};
|
||||
|
||||
export function addListener() {
|
||||
@ -165,7 +169,7 @@ export function addListener() {
|
||||
XstaskFun.uidTask[uid] = null;
|
||||
delete XstaskFun.uidTask[uid];
|
||||
}
|
||||
setGud(uid,{ logoutTime: G.time });
|
||||
setGud(uid, { logoutTime: G.time });
|
||||
G.mongodb.collection('user').updateOne({ uid: uid }, { $set: { logoutTime: G.time } });
|
||||
});
|
||||
|
||||
@ -177,7 +181,7 @@ export function addListener() {
|
||||
}
|
||||
});
|
||||
|
||||
G.on('PLAYER_PAY', async (player, payId, payArgs,call) => {
|
||||
G.on('PLAYER_PAY', async (player, payId, payArgs, call) => {
|
||||
let conf: any = await PayFun.getConf(payId, payArgs);
|
||||
ActionLog.addDayLog(player.uid, { key: 'pay', val: conf.payExp[0].n });
|
||||
ActionLog.addRetainLog(player.uid, { key: 'pay', val: conf.payExp[0].n });
|
||||
@ -261,4 +265,9 @@ export function addListener() {
|
||||
let call = PayFun.getCall(gud);
|
||||
G.emit("Class_task_134", 'Class_task_134', call, 1, 0, items);
|
||||
});
|
||||
|
||||
// 黄旗酒馆
|
||||
G.on("NEW_DAY", HQJGFun.dayDpsLvPrize.bind(HQJGFun));
|
||||
G.on("NEW_DAY", HQJGFun.endDpsRankPrize.bind(HQJGFun));
|
||||
G.on("PLAYER_PAY", HQJGFun.buy.bind(HQJGFun));
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"jinbi": {
|
||||
"id": "jinbi",
|
||||
"name": "intr_attr_name_1",
|
||||
"undefined": "美金",
|
||||
"undefined": "通用货币,能购买大多数商品",
|
||||
"colour": 3,
|
||||
"icon": "icon_jinbi",
|
||||
"sicon": "icon_jinbi",
|
||||
@ -12,7 +12,7 @@
|
||||
"rmbmoney": {
|
||||
"id": "rmbmoney",
|
||||
"name": "intr_attr_name_2",
|
||||
"undefined": "钻石",
|
||||
"undefined": "稀有货币,没有人可以抗拒它",
|
||||
"colour": 5,
|
||||
"icon": "icon_zuanshi",
|
||||
"sicon": "icon_zuanshi",
|
||||
@ -22,7 +22,7 @@
|
||||
"nexp": {
|
||||
"id": "nexp",
|
||||
"name": "intr_attr_name_3",
|
||||
"undefined": "主角经验",
|
||||
"undefined": "用于提升主角等级",
|
||||
"colour": 4,
|
||||
"icon": "icon_zjjy",
|
||||
"sicon": "icon_zjjy",
|
||||
@ -32,7 +32,7 @@
|
||||
"rongyu": {
|
||||
"id": "rongyu",
|
||||
"name": "intr_attr_name_4",
|
||||
"undefined": "荣誉勋章",
|
||||
"undefined": "荣誉的象征,可以在荣誉商店兑换道具",
|
||||
"colour": 4,
|
||||
"icon": "icon_rongyu",
|
||||
"sicon": "icon_rongyu",
|
||||
@ -42,7 +42,7 @@
|
||||
"payExp": {
|
||||
"id": "payExp",
|
||||
"name": "intr_attr_name_5",
|
||||
"undefined": "VIP经验",
|
||||
"undefined": "稀有货币,没有人可以抗拒它",
|
||||
"colour": 5,
|
||||
"icon": "icon_gzjy",
|
||||
"sicon": "icon_gzjy",
|
||||
@ -52,7 +52,7 @@
|
||||
"guijinshu": {
|
||||
"id": "guijinshu",
|
||||
"name": "intr_attr_name_6",
|
||||
"undefined": "贵金属",
|
||||
"undefined": "通过精炼饰品获得的稀有贵金属,可以在饰品商店兑换饰品",
|
||||
"colour": 3,
|
||||
"icon": "icon_xyjsh",
|
||||
"sicon": "icon_xyjsh",
|
||||
@ -62,7 +62,7 @@
|
||||
"shilifrd": {
|
||||
"id": "shilifrd",
|
||||
"name": "intr_attr_name_11",
|
||||
"undefined": "势力繁荣度",
|
||||
"undefined": "势力的繁荣度越高,势力等级越高",
|
||||
"colour": 4,
|
||||
"icon": "icon_slfrd",
|
||||
"sicon": "icon_slfrd",
|
||||
@ -72,7 +72,7 @@
|
||||
"clsl_sd": {
|
||||
"id": "clsl_sd",
|
||||
"name": "intr_attr_name_12",
|
||||
"undefined": "丛林狩猎胜点",
|
||||
"undefined": "丛林狩猎的段位胜点,胜点数量足够后可进阶",
|
||||
"colour": 5,
|
||||
"icon": "icon_clsl_xx",
|
||||
"sicon": "icon_clsl_xx",
|
||||
@ -82,7 +82,7 @@
|
||||
"nahanzhuwei": {
|
||||
"id": "nahanzhuwei",
|
||||
"name": "tlsd_guess_name_1",
|
||||
"undefined": "呐喊助威",
|
||||
"undefined": "参与竞猜后获得莱微碎片*1和美金*500000",
|
||||
"colour": 5,
|
||||
"icon": "icon_heroBox_11",
|
||||
"sicon": "icon_heroBox_11",
|
||||
@ -92,7 +92,7 @@
|
||||
"aidebaobao": {
|
||||
"id": "aidebaobao",
|
||||
"name": "tlsd_guess_name_2",
|
||||
"undefined": "爱的抱抱",
|
||||
"undefined": "参与竞猜后获得莱微碎片*1,配件蓝图*1和美金*800000",
|
||||
"colour": 5,
|
||||
"icon": "icon_heroBox_11",
|
||||
"sicon": "icon_heroBox_11",
|
||||
@ -102,7 +102,7 @@
|
||||
"woweishenkuang": {
|
||||
"id": "woweishenkuang",
|
||||
"name": "tlsd_guess_name_3",
|
||||
"undefined": "我为神狂",
|
||||
"undefined": "参与竞猜后获得莱微碎片*1,配件蓝图*3和美金*1000000",
|
||||
"colour": 5,
|
||||
"icon": "icon_heroBox_11",
|
||||
"sicon": "icon_heroBox_11",
|
||||
@ -112,7 +112,7 @@
|
||||
"shengdanExp": {
|
||||
"id": "shengdanExp",
|
||||
"name": "intr_attr_name_13",
|
||||
"undefined": "圣诞战令经验",
|
||||
"undefined": "一年一度的圣诞庆典获得的圣诞欢乐值,可以提升庆典圣诞树奖励进度",
|
||||
"colour": 5,
|
||||
"icon": "icon_sdhd_item_1",
|
||||
"sicon": "icon_sdhd_item_1",
|
||||
@ -122,7 +122,7 @@
|
||||
"shengdanBullet": {
|
||||
"id": "shengdanBullet",
|
||||
"name": "intr_attr_name_14",
|
||||
"undefined": "圣诞打靶币",
|
||||
"undefined": "圣诞活动获得的庆典喷漆,可以在“百发百中”兑换射击次数",
|
||||
"colour": 5,
|
||||
"icon": "icon_chegaipq",
|
||||
"sicon": "icon_chegaipq",
|
||||
@ -132,7 +132,7 @@
|
||||
"jingxuanbi": {
|
||||
"id": "jingxuanbi",
|
||||
"name": "intr_attr_name_15",
|
||||
"undefined": "每日精选兑换币",
|
||||
"undefined": "只能在黑市使用的票券,可以在黑市里的每日精选兑换商店购买稀有道具",
|
||||
"colour": 4,
|
||||
"icon": "icon_hspj",
|
||||
"sicon": "icon_hspj",
|
||||
@ -142,7 +142,7 @@
|
||||
"weiwang": {
|
||||
"id": "weiwang",
|
||||
"name": "intr_attr_name_16",
|
||||
"undefined": "影响力",
|
||||
"undefined": "影响力提升了周围同伴的信任,可以在影响力系统中提升属性值",
|
||||
"colour": 4,
|
||||
"icon": "icon_weiwang",
|
||||
"sicon": "icon_weiwang",
|
||||
@ -152,11 +152,31 @@
|
||||
"yuandanyouxi": {
|
||||
"id": "yuandanyouxi",
|
||||
"name": "intr_attr_name_17",
|
||||
"undefined": "元旦游戏币",
|
||||
"undefined": "在新年活动中获得的庆典币,可以在机遇礼盒兑换游玩次数",
|
||||
"colour": 5,
|
||||
"icon": "icon_xnjb",
|
||||
"sicon": "icon_xnjb",
|
||||
"describe": "intr_attr_describe_17",
|
||||
"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"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -10,6 +10,7 @@
|
||||
//累计x个密宝可领取一次奖励
|
||||
getPrizeByMiBaoNum: 6,
|
||||
//每天重置后回退的层数
|
||||
//这个值没用刺鸟那边写了公式不用这个值了
|
||||
dayResetBackLayer: 6,
|
||||
//每周重置后回退的层数
|
||||
weekResetBackLayer: 0,
|
||||
|
@ -2666,6 +2666,27 @@
|
||||
"rarity": 6
|
||||
}
|
||||
},
|
||||
"item^638": {
|
||||
"itemId": "item^638",
|
||||
"name": "扭蛋机超级干部随机箱",
|
||||
"i18nKey": "intr_item_name_638",
|
||||
"detailI18nKey": "intr_item_describe_638",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 30000,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 6
|
||||
}
|
||||
},
|
||||
"item^5001": {
|
||||
"itemId": "item^5001",
|
||||
"name": "莱薇碎片",
|
||||
@ -7160,6 +7181,27 @@
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^50012": {
|
||||
"itemId": "item^50012",
|
||||
"name": "花漫大地",
|
||||
"i18nKey": "playerheadFrame_name_26",
|
||||
"detailI18nKey": "intr_item_describe_50012",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"item^50101": {
|
||||
"itemId": "item^50101",
|
||||
"name": "冰天雪地",
|
||||
@ -7454,6 +7496,69 @@
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"item^80001": {
|
||||
"itemId": "item^80001",
|
||||
"name": "白色朗姆酒",
|
||||
"i18nKey": "intr_item_name_80001",
|
||||
"detailI18nKey": "intr_item_describe_80001",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^80002": {
|
||||
"itemId": "item^80002",
|
||||
"name": "金色朗姆酒",
|
||||
"i18nKey": "intr_item_name_80002",
|
||||
"detailI18nKey": "intr_item_describe_80002",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"item^80003": {
|
||||
"itemId": "item^80003",
|
||||
"name": "黑色朗姆酒",
|
||||
"i18nKey": "intr_item_name_80003",
|
||||
"detailI18nKey": "intr_item_describe_80003",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 6
|
||||
}
|
||||
},
|
||||
"equip^1001": {
|
||||
"itemId": "equip^1001",
|
||||
"name": "棉布头盔",
|
||||
@ -10813,5 +10918,67 @@
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"attr^huangqijinbi": {
|
||||
"itemId": "attr^huangqijinbi",
|
||||
"name": "黄旗金币",
|
||||
"i18nKey": "intr_attr_name_18",
|
||||
"detailI18nKey": "intr_attr_describe_18",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 240,
|
||||
"typeId": "attr",
|
||||
"typeName": "货币",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"attr^huangqiduihuan": {
|
||||
"itemId": "attr^huangqiduihuan",
|
||||
"name": "黄旗票券",
|
||||
"i18nKey": "intr_attr_name_19",
|
||||
"detailI18nKey": "intr_attr_describe_19",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 20,
|
||||
"typeId": "attr",
|
||||
"typeName": "货币",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
},
|
||||
"heroskin^50011": {
|
||||
"itemId": "heroskin^50011",
|
||||
"name": "兔女郎",
|
||||
"i18nKey": "heroSkin_name_1",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 20000,
|
||||
"typeId": "heroskin",
|
||||
"typeName": "干部皮肤",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
}
|
||||
}
|
@ -1925,6 +1925,37 @@
|
||||
"initiative": 1,
|
||||
"location": 1
|
||||
},
|
||||
"186": {
|
||||
"id": 186,
|
||||
"triggerType": "openCond",
|
||||
"typeId": "weiwang",
|
||||
"Type": "finger",
|
||||
"path": "Canvas/draw/uiRoot/uiView_mainMenu/mainMenu/btnLayout/zd",
|
||||
"undefined": "点探险",
|
||||
"initiative": 1,
|
||||
"location": 2
|
||||
},
|
||||
"187": {
|
||||
"id": 187,
|
||||
"triggerType": "openCond",
|
||||
"typeId": "weiwang",
|
||||
"Type": "finger",
|
||||
"path": "Canvas/draw/uiRoot/uiView_tanxian/tanxian/tx_map1/btn_ww",
|
||||
"undefined": "点影响力按钮",
|
||||
"initiative": 1,
|
||||
"location": 1
|
||||
},
|
||||
"188": {
|
||||
"id": 188,
|
||||
"triggerType": "openCond",
|
||||
"typeId": "weiwang",
|
||||
"Type": "finger",
|
||||
"path": "Canvas/draw/uiRoot/uiView_weiwang/weiwang/xia/shengji/btn_sj",
|
||||
"undefined": "点升级按钮",
|
||||
"initiative": 1,
|
||||
"location": 1,
|
||||
"filter": "loop_openConfGuideEnd"
|
||||
},
|
||||
"20001": {
|
||||
"id": 20001,
|
||||
"triggerType": "lose",
|
||||
|
@ -12,7 +12,7 @@
|
||||
//积分赛vip等级对应的可购买挑战次数
|
||||
jfsBuyFightNum: [3, 5, 7, 9, 12, 15, 18, 21, 24, 27, 30, 33, 35, 36, 38, 40, 42, 50],
|
||||
//积分赛每日免费刷新次数
|
||||
jfsRefreshNum: 0,
|
||||
jfsRefreshNum: 15,
|
||||
//积分赛每日免费刷新次数使用完后的刷新消耗
|
||||
jfsRefreshNeed: [{a: 'attr', t: 'rmbmoney', n: 20}],
|
||||
//积分赛购买挑战次数对应的消耗
|
||||
|
178
src/json/heroSkin.json
Normal file
178
src/json/heroSkin.json
Normal file
@ -0,0 +1,178 @@
|
||||
{
|
||||
"40021": {
|
||||
"id": 40021,
|
||||
"heroId": 4002,
|
||||
"name": "heroSkin_name_6",
|
||||
"des": "heroSkin_des_6",
|
||||
"undefined": "龙行天下",
|
||||
"model": 40021,
|
||||
"card": 40021,
|
||||
"head": 40021,
|
||||
"battle": 40021,
|
||||
"colour": 5,
|
||||
"icon": 40021,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80002",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"40061": {
|
||||
"id": 40061,
|
||||
"heroId": 4006,
|
||||
"name": "heroSkin_name_7",
|
||||
"des": "heroSkin_des_7",
|
||||
"undefined": "假面魅姬",
|
||||
"model": 40061,
|
||||
"card": 40061,
|
||||
"head": 40061,
|
||||
"battle": 40061,
|
||||
"colour": 5,
|
||||
"icon": 40061,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80002",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"40071": {
|
||||
"id": 40071,
|
||||
"heroId": 4007,
|
||||
"name": "heroSkin_name_8",
|
||||
"des": "heroSkin_des_8",
|
||||
"undefined": "樱花之舞",
|
||||
"model": 40071,
|
||||
"card": 40071,
|
||||
"head": 40071,
|
||||
"battle": 40071,
|
||||
"colour": 5,
|
||||
"icon": 40071,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80002",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"50011": {
|
||||
"id": 50011,
|
||||
"heroId": 5001,
|
||||
"name": "heroSkin_name_1",
|
||||
"des": "heroSkin_des_1",
|
||||
"undefined": "兔女郎",
|
||||
"model": 50011,
|
||||
"card": 50011,
|
||||
"head": 50011,
|
||||
"battle": 50011,
|
||||
"colour": 6,
|
||||
"icon": 50011,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80003",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 1,
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"50021": {
|
||||
"id": 50021,
|
||||
"heroId": 5002,
|
||||
"name": "heroSkin_name_2",
|
||||
"des": "heroSkin_des_2",
|
||||
"undefined": "大尉之风",
|
||||
"model": 50021,
|
||||
"card": 50021,
|
||||
"head": 50021,
|
||||
"battle": 50021,
|
||||
"colour": 6,
|
||||
"icon": 50021,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80003",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"50031": {
|
||||
"id": 50031,
|
||||
"heroId": 5003,
|
||||
"name": "heroSkin_name_3",
|
||||
"des": "heroSkin_des_3",
|
||||
"undefined": "西装暴徒",
|
||||
"model": 50031,
|
||||
"card": 50031,
|
||||
"head": 50031,
|
||||
"battle": 50031,
|
||||
"colour": 6,
|
||||
"icon": 50031,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80003",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"50041": {
|
||||
"id": 50041,
|
||||
"heroId": 5004,
|
||||
"name": "heroSkin_name_4",
|
||||
"des": "heroSkin_des_4",
|
||||
"undefined": "浪客剑心",
|
||||
"model": 50041,
|
||||
"card": 50041,
|
||||
"head": 50041,
|
||||
"battle": 50041,
|
||||
"colour": 6,
|
||||
"icon": 50041,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80003",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"50051": {
|
||||
"id": 50051,
|
||||
"heroId": 5005,
|
||||
"name": "heroSkin_name_5",
|
||||
"des": "heroSkin_des_5",
|
||||
"undefined": "猎犬出动",
|
||||
"model": 50051,
|
||||
"card": 50051,
|
||||
"head": 50051,
|
||||
"battle": 50051,
|
||||
"colour": 6,
|
||||
"icon": 50051,
|
||||
"zhuanhuan": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "80003",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"display": 0,
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
}
|
||||
}
|
1031
src/json/heroSkinLv.json
Normal file
1031
src/json/heroSkinLv.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -9811,7 +9811,7 @@
|
||||
"undpspro": 0.06,
|
||||
"speed": 20,
|
||||
"hp": 33800,
|
||||
"pvpdpspro": 0.3,
|
||||
"pvpdpsdrop": 0.3,
|
||||
"atkpro": 1.4,
|
||||
"defpro": 1.4,
|
||||
"hppro": 1.4,
|
||||
@ -9848,7 +9848,7 @@
|
||||
"undpspro": 0.06,
|
||||
"speed": 20,
|
||||
"hp": 33800,
|
||||
"pvpdpspro": 0.3,
|
||||
"pvpdpsdrop": 0.3,
|
||||
"atkpro": 1.8,
|
||||
"defpro": 1.8,
|
||||
"hppro": 1.8,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2111,6 +2111,25 @@
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"638": {
|
||||
"id": 638,
|
||||
"name": "intr_item_name_638",
|
||||
"undefined": "使用后可随机获得以下碎片",
|
||||
"type": 2,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_equipBox_8",
|
||||
"sicon": "icon_equipBox_8",
|
||||
"describe": "intr_item_describe_638",
|
||||
"diaoluo": 50062,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"1001": {
|
||||
"id": 1001,
|
||||
"name": "intr_item_name_1001",
|
||||
@ -3842,7 +3861,7 @@
|
||||
"50001": {
|
||||
"id": 50001,
|
||||
"name": "playerheadFrame_name_3",
|
||||
"undefined": "使用后解锁头像框“火力覆盖”",
|
||||
"undefined": "使用后解锁头像框“火力覆盖”,解锁后防御加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3861,7 +3880,7 @@
|
||||
"50002": {
|
||||
"id": 50002,
|
||||
"name": "playerheadFrame_name_4",
|
||||
"undefined": "使用后解锁头像框“双枪”",
|
||||
"undefined": "使用后解锁头像框“双枪”,解锁后攻击加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3880,7 +3899,7 @@
|
||||
"50003": {
|
||||
"id": 50003,
|
||||
"name": "playerheadFrame_name_6",
|
||||
"undefined": "使用后解锁头像框“武装炫耀”",
|
||||
"undefined": "使用后解锁头像框“武装炫耀”,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3899,7 +3918,7 @@
|
||||
"50004": {
|
||||
"id": 50004,
|
||||
"name": "playerheadFrame_name_7",
|
||||
"undefined": "使用后解锁头像框“血海”",
|
||||
"undefined": "使用后解锁头像框“血海”,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3918,7 +3937,7 @@
|
||||
"50005": {
|
||||
"id": 50005,
|
||||
"name": "playerheadFrame_name_8",
|
||||
"undefined": "使用后解锁头像框“边界感”",
|
||||
"undefined": "使用后解锁头像框“破笼而出”,解锁后伤害加成+2%(限时7天)",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3937,7 +3956,7 @@
|
||||
"50006": {
|
||||
"id": 50006,
|
||||
"name": "playerheadFrame_name_9",
|
||||
"undefined": "使用后解锁头像框“破笼而出”",
|
||||
"undefined": "使用后解锁头像框“擂台”,解锁后防御加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3956,7 +3975,7 @@
|
||||
"50007": {
|
||||
"id": 50007,
|
||||
"name": "playerheadFrame_name_10",
|
||||
"undefined": "使用后解锁头像框“破土而出”",
|
||||
"undefined": "使用后解锁头像框“破土而出”,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3975,7 +3994,7 @@
|
||||
"50008": {
|
||||
"id": 50008,
|
||||
"name": "playerheadFrame_name_11",
|
||||
"undefined": "使用后解锁头像框“赠礼”",
|
||||
"undefined": "使用后解锁头像框“赠礼”,解锁后攻击加成+1%、生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -3994,10 +4013,10 @@
|
||||
"50009": {
|
||||
"id": 50009,
|
||||
"name": "playerheadFrame_name_23",
|
||||
"undefined": "使用后解锁头像框“圣诞氛围”",
|
||||
"undefined": "使用后解锁头像框“圣诞氛围”,解锁后防御加成+1%,解锁后生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_028",
|
||||
@ -4008,15 +4027,15 @@
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"50010": {
|
||||
"id": 50010,
|
||||
"name": "playerheadFrame_name_24",
|
||||
"undefined": "使用后解锁头像框“披星戴月”",
|
||||
"undefined": "使用后解锁头像框“披星戴月”,解锁后伤害加成+1%(限时7天)",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_025",
|
||||
@ -4027,15 +4046,15 @@
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"50011": {
|
||||
"id": 50011,
|
||||
"name": "playerheadFrame_name_25",
|
||||
"undefined": "使用后解锁头像框“新春安宁”",
|
||||
"undefined": "使用后解锁头像框“新春安宁”,解锁后生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_029",
|
||||
@ -4046,12 +4065,31 @@
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"50012": {
|
||||
"id": 50012,
|
||||
"name": "playerheadFrame_name_26",
|
||||
"undefined": "使用后解锁头像框“花漫大地”,解锁后生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_007",
|
||||
"sicon": "txk_007",
|
||||
"describe": "intr_item_describe_50012",
|
||||
"diaoluo": 26,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"50101": {
|
||||
"id": 50101,
|
||||
"name": "playerChatFrame_name_6",
|
||||
"undefined": "使用后解锁聊天框“冰天雪地”",
|
||||
"undefined": "使用后解锁聊天框“冰天雪地”,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||
"type": 8,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4070,7 +4108,7 @@
|
||||
"50102": {
|
||||
"id": 50102,
|
||||
"name": "playerChatFrame_name_7",
|
||||
"undefined": "使用后解锁聊天框“海浪奔涌”",
|
||||
"undefined": "使用后解锁聊天框“海浪奔涌”,解锁后防御加成+1%",
|
||||
"type": 8,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4089,7 +4127,7 @@
|
||||
"50103": {
|
||||
"id": 50103,
|
||||
"name": "playerheadFrame_name_15",
|
||||
"undefined": "使用后解锁头像框“名扬四海”",
|
||||
"undefined": "使用后解锁头像框“名扬四海”,解锁后伤害加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4108,7 +4146,7 @@
|
||||
"50104": {
|
||||
"id": 50104,
|
||||
"name": "playerChatFrame_name_8",
|
||||
"undefined": "使用后解锁聊天框“圣诞快乐”",
|
||||
"undefined": "使用后解锁聊天框“圣诞快乐”,解锁后防御加成+1%",
|
||||
"type": 8,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4127,7 +4165,7 @@
|
||||
"50105": {
|
||||
"id": 50105,
|
||||
"name": "playerChatFrame_name_9",
|
||||
"undefined": "使用后解锁聊天框“新年快乐”",
|
||||
"undefined": "使用后解锁聊天框“新年快乐”,解锁后防御加成+1%",
|
||||
"type": 8,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4146,7 +4184,7 @@
|
||||
"50201": {
|
||||
"id": 50201,
|
||||
"name": "playerheadFrame_name_16",
|
||||
"undefined": "使用后解锁头像框“招贤纳士”",
|
||||
"undefined": "使用后解锁头像框“招贤纳士”,解锁后攻击加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4165,7 +4203,7 @@
|
||||
"50202": {
|
||||
"id": 50202,
|
||||
"name": "playerheadFrame_name_17",
|
||||
"undefined": "使用后解锁头像框“势如破竹”",
|
||||
"undefined": "使用后解锁头像框“势如破竹”,解锁后防御加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4184,7 +4222,7 @@
|
||||
"50203": {
|
||||
"id": 50203,
|
||||
"name": "playerheadFrame_name_18",
|
||||
"undefined": "使用后解锁头像框“被甲执兵”",
|
||||
"undefined": "使用后解锁头像框“被甲执兵”,解锁后生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4203,7 +4241,7 @@
|
||||
"50204": {
|
||||
"id": 50204,
|
||||
"name": "playerheadFrame_name_19",
|
||||
"undefined": "使用后解锁头像框“锋芒毕露”",
|
||||
"undefined": "使用后解锁头像框“锋芒毕露”,解锁后攻击加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4222,7 +4260,7 @@
|
||||
"50205": {
|
||||
"id": 50205,
|
||||
"name": "playerheadFrame_name_20",
|
||||
"undefined": "使用后解锁头像框“所向披靡”",
|
||||
"undefined": "使用后解锁头像框“所向披靡”,解锁后防御加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4241,7 +4279,7 @@
|
||||
"50206": {
|
||||
"id": 50206,
|
||||
"name": "playerheadFrame_name_21",
|
||||
"undefined": "使用后解锁头像框“传世藏品”",
|
||||
"undefined": "使用后解锁头像框“传世藏品”,解锁后生命加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4260,7 +4298,7 @@
|
||||
"50207": {
|
||||
"id": 50207,
|
||||
"name": "playerheadFrame_name_22",
|
||||
"undefined": "使用后解锁头像框“金戈铁马”",
|
||||
"undefined": "使用后解锁头像框“金戈铁马”,解锁后伤害加成+1%",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4279,7 +4317,7 @@
|
||||
"50301": {
|
||||
"id": 50301,
|
||||
"name": "playerModel_name_3",
|
||||
"undefined": "使用后解锁主角造型“圣诞庆典:男”",
|
||||
"undefined": "使用后解锁主角造型“圣诞庆典:男”,解锁后防御加成+1%",
|
||||
"type": 6,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
@ -4298,7 +4336,7 @@
|
||||
"50302": {
|
||||
"id": 50302,
|
||||
"name": "playerModel_name_4",
|
||||
"undefined": "使用后解锁主角造型“圣诞庆典:女”",
|
||||
"undefined": "使用后解锁主角造型“圣诞庆典:女”,解锁后防御加成+1%",
|
||||
"type": 6,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
@ -7721,5 +7759,59 @@
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"80001": {
|
||||
"id": 80001,
|
||||
"name": "intr_item_name_80001",
|
||||
"undefined": "味道清淡、简单纯净的的白色朗姆酒,可以在干部外观递交给裁缝提升外观等级。",
|
||||
"type": 1,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_pifucailiao_zi",
|
||||
"sicon": "icon_pifucailiao_zi",
|
||||
"describe": "intr_item_describe_80001",
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"80002": {
|
||||
"id": 80002,
|
||||
"name": "intr_item_name_80002",
|
||||
"undefined": "至少陈酿3年且更甜、更丰富的风味的金色朗姆酒,可以在干部外观递交给裁缝提升外观等级。",
|
||||
"type": 1,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_pifucailiao_cheng",
|
||||
"sicon": "icon_pifucailiao_cheng",
|
||||
"describe": "intr_item_describe_80002",
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"80003": {
|
||||
"id": 80003,
|
||||
"name": "intr_item_name_80003",
|
||||
"undefined": "酒味芳醇,味道复杂的陈年黑色朗姆酒,可以在干部外观递交给裁缝提升外观等级。",
|
||||
"type": 1,
|
||||
"sort": 1,
|
||||
"colour": 6,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_pifucailiao_hong",
|
||||
"sicon": "icon_pifucailiao_hong",
|
||||
"describe": "intr_item_describe_80003",
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
}
|
||||
}
|
@ -2,6 +2,8 @@
|
||||
"1": {
|
||||
"id": 1,
|
||||
"dao": 1001,
|
||||
"name": "mingDao_name_1",
|
||||
"undefined": "正宗",
|
||||
"condition": [
|
||||
[
|
||||
"loginDays",
|
||||
@ -41,13 +43,14 @@
|
||||
"zjgy_xld": 10
|
||||
},
|
||||
"img": 1001,
|
||||
"name": "mingDao_name_1",
|
||||
"des": "mingDao_des_1",
|
||||
"privilege_des": "mingDao_tequan_1"
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"dao": 1002,
|
||||
"name": "mingDao_name_2",
|
||||
"undefined": "妖刀村正",
|
||||
"condition": [
|
||||
[
|
||||
"power",
|
||||
@ -97,13 +100,14 @@
|
||||
"wzsj_free": 1
|
||||
},
|
||||
"img": 1002,
|
||||
"name": "mingDao_name_2",
|
||||
"des": "mingDao_des_2",
|
||||
"privilege_des": "mingDao_tequan_2"
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"dao": 1003,
|
||||
"name": "mingDao_name_3",
|
||||
"undefined": "村雨",
|
||||
"condition": [
|
||||
[
|
||||
"zccg",
|
||||
@ -158,13 +162,14 @@
|
||||
"zjgy_xld": 20
|
||||
},
|
||||
"img": 1003,
|
||||
"name": "mingDao_name_3",
|
||||
"des": "mingDao_des_3",
|
||||
"privilege_des": "mingDao_tequan_3"
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"dao": 1004,
|
||||
"name": "mingDao_name_4",
|
||||
"undefined": "大典太",
|
||||
"condition": [
|
||||
[
|
||||
"use_attr_rmbmoney",
|
||||
@ -224,13 +229,14 @@
|
||||
"dpzd_zl": 1
|
||||
},
|
||||
"img": 1004,
|
||||
"name": "mingDao_name_4",
|
||||
"des": "mingDao_des_4",
|
||||
"privilege_des": "mingDao_tequan_4"
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"dao": 1005,
|
||||
"name": "mingDao_name_5",
|
||||
"undefined": "菊一文字",
|
||||
"condition": [
|
||||
[
|
||||
"equip_star_5",
|
||||
@ -295,13 +301,14 @@
|
||||
"zccg_sd": 1
|
||||
},
|
||||
"img": 2001,
|
||||
"name": "mingDao_name_5",
|
||||
"des": "mingDao_des_5",
|
||||
"privilege_des": "mingDao_tequan_5"
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"dao": 1006,
|
||||
"name": "mingDao_name_6",
|
||||
"undefined": "长曾弥虎彻",
|
||||
"condition": [
|
||||
[
|
||||
"zccg",
|
||||
@ -366,13 +373,14 @@
|
||||
"pjbb_rl": 100
|
||||
},
|
||||
"img": 2002,
|
||||
"name": "mingDao_name_6",
|
||||
"des": "mingDao_des_6",
|
||||
"privilege_des": "mingDao_tequan_6"
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"dao": 1007,
|
||||
"name": "mingDao_name_7",
|
||||
"undefined": "和泉守兼定",
|
||||
"condition": [
|
||||
[
|
||||
"peijian_colour_5",
|
||||
@ -434,18 +442,17 @@
|
||||
"hp": 108
|
||||
},
|
||||
"privilege": {
|
||||
"hero_buff": {
|
||||
"xixuepro": 0.05
|
||||
}
|
||||
"pjbb_rl": 100
|
||||
},
|
||||
"img": 2003,
|
||||
"name": "mingDao_name_7",
|
||||
"des": "mingDao_des_7",
|
||||
"privilege_des": "mingDao_tequan_7"
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"dao": 1008,
|
||||
"name": "mingDao_name_8",
|
||||
"undefined": "肥前国忠吉",
|
||||
"condition": [
|
||||
[
|
||||
"equip_star_5",
|
||||
@ -508,17 +515,18 @@
|
||||
},
|
||||
"privilege": {
|
||||
"hero_buff": {
|
||||
"dpspro": 0.06
|
||||
"xixuepro": 0.05
|
||||
}
|
||||
},
|
||||
"img": 3001,
|
||||
"name": "mingDao_name_8",
|
||||
"des": "mingDao_des_8",
|
||||
"privilege_des": "mingDao_tequan_8"
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"dao": 1009,
|
||||
"name": "mingDao_name_9",
|
||||
"undefined": "长船",
|
||||
"condition": [
|
||||
[
|
||||
"power",
|
||||
@ -585,16 +593,19 @@
|
||||
"hp": 112
|
||||
},
|
||||
"privilege": {
|
||||
"pjbb_rl": 100
|
||||
"hero_buff": {
|
||||
"dpspro": 0.06
|
||||
}
|
||||
},
|
||||
"img": 3002,
|
||||
"name": "mingDao_name_9",
|
||||
"des": "mingDao_des_9",
|
||||
"privilege_des": "mingDao_tequan_9"
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"dao": 1010,
|
||||
"name": "mingDao_name_10",
|
||||
"undefined": "童子切安纲",
|
||||
"condition": [
|
||||
[
|
||||
"peijian_colour_5",
|
||||
@ -666,8 +677,321 @@
|
||||
}
|
||||
},
|
||||
"img": 3003,
|
||||
"name": "mingDao_name_10",
|
||||
"des": "mingDao_des_10",
|
||||
"privilege_des": "mingDao_tequan_10"
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"dao": 1011,
|
||||
"name": "mingDao_name_11",
|
||||
"undefined": "乌兹冲锋枪",
|
||||
"condition": [
|
||||
[
|
||||
"power",
|
||||
4000000
|
||||
]
|
||||
],
|
||||
"level": 250,
|
||||
"need": {
|
||||
"a": "item",
|
||||
"t": "21",
|
||||
"n": 1
|
||||
},
|
||||
"needExp": 2250,
|
||||
"reward": {
|
||||
"10": {
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 3000000
|
||||
},
|
||||
"20": {
|
||||
"a": "item",
|
||||
"t": "24",
|
||||
"n": 20
|
||||
},
|
||||
"30": {
|
||||
"a": "item",
|
||||
"t": "18",
|
||||
"n": 200
|
||||
},
|
||||
"50": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"80": {
|
||||
"a": "item",
|
||||
"t": "611",
|
||||
"n": 1
|
||||
},
|
||||
"120": {
|
||||
"a": "attr",
|
||||
"t": "nexp",
|
||||
"n": 1500000
|
||||
},
|
||||
"160": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"200": {
|
||||
"a": "hero",
|
||||
"t": "5005",
|
||||
"n": 1
|
||||
}
|
||||
},
|
||||
"buff": {
|
||||
"atk": 93,
|
||||
"def": 36,
|
||||
"hp": 718
|
||||
},
|
||||
"upBuff": {
|
||||
"atk": 16,
|
||||
"def": 7,
|
||||
"hp": 130
|
||||
},
|
||||
"privilege": {
|
||||
"pjbb_rl": 100
|
||||
},
|
||||
"img": 3004,
|
||||
"des": "mingDao_des_11",
|
||||
"privilege_des": "mingDao_tequan_11"
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"dao": 1012,
|
||||
"name": "mingDao_name_12",
|
||||
"undefined": "雷明顿M31霰弹枪",
|
||||
"condition": [
|
||||
[
|
||||
"equip_star_5",
|
||||
10
|
||||
]
|
||||
],
|
||||
"level": 300,
|
||||
"need": {
|
||||
"a": "item",
|
||||
"t": "21",
|
||||
"n": 1
|
||||
},
|
||||
"needExp": 2250,
|
||||
"reward": {
|
||||
"20": {
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 3000000
|
||||
},
|
||||
"40": {
|
||||
"a": "item",
|
||||
"t": "24",
|
||||
"n": 22
|
||||
},
|
||||
"60": {
|
||||
"a": "item",
|
||||
"t": "18",
|
||||
"n": 250
|
||||
},
|
||||
"80": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"100": {
|
||||
"a": "item",
|
||||
"t": "611",
|
||||
"n": 1
|
||||
},
|
||||
"150": {
|
||||
"a": "attr",
|
||||
"t": "nexp",
|
||||
"n": 2000000
|
||||
},
|
||||
"200": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"250": {
|
||||
"a": "hero",
|
||||
"t": "5003",
|
||||
"n": 1
|
||||
}
|
||||
},
|
||||
"buff": {
|
||||
"atk": 99,
|
||||
"def": 40,
|
||||
"hp": 783
|
||||
},
|
||||
"upBuff": {
|
||||
"atk": 16,
|
||||
"def": 7,
|
||||
"hp": 136
|
||||
},
|
||||
"privilege": {
|
||||
"hero_buff": {
|
||||
"mingzhongpro": 0.03
|
||||
}
|
||||
},
|
||||
"img": 3005,
|
||||
"des": "mingDao_des_12",
|
||||
"privilege_des": "mingDao_tequan_12"
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"dao": 1013,
|
||||
"name": "mingDao_name_13",
|
||||
"undefined": "栓动式步枪",
|
||||
"condition": [
|
||||
[
|
||||
"power",
|
||||
8000000
|
||||
]
|
||||
],
|
||||
"level": 350,
|
||||
"need": {
|
||||
"a": "item",
|
||||
"t": "21",
|
||||
"n": 1
|
||||
},
|
||||
"needExp": 2950,
|
||||
"reward": {
|
||||
"30": {
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 5000000
|
||||
},
|
||||
"60": {
|
||||
"a": "item",
|
||||
"t": "24",
|
||||
"n": 24
|
||||
},
|
||||
"90": {
|
||||
"a": "item",
|
||||
"t": "18",
|
||||
"n": 300
|
||||
},
|
||||
"120": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"150": {
|
||||
"a": "item",
|
||||
"t": "611",
|
||||
"n": 1
|
||||
},
|
||||
"200": {
|
||||
"a": "attr",
|
||||
"t": "nexp",
|
||||
"n": 2000000
|
||||
},
|
||||
"250": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"300": {
|
||||
"a": "hero",
|
||||
"t": "5001",
|
||||
"n": 1
|
||||
}
|
||||
},
|
||||
"buff": {
|
||||
"atk": 108,
|
||||
"def": 44,
|
||||
"hp": 848
|
||||
},
|
||||
"upBuff": {
|
||||
"atk": 16,
|
||||
"def": 7,
|
||||
"hp": 142
|
||||
},
|
||||
"privilege": {
|
||||
"hero_buff": {
|
||||
"shanbipro": 0.03
|
||||
}
|
||||
},
|
||||
"img": 3007,
|
||||
"des": "mingDao_des_13",
|
||||
"privilege_des": "mingDao_tequan_13"
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"dao": 1014,
|
||||
"name": "mingDao_name_14",
|
||||
"undefined": "M16自动步枪",
|
||||
"condition": [
|
||||
[
|
||||
"zccg",
|
||||
400
|
||||
]
|
||||
],
|
||||
"level": 400,
|
||||
"need": {
|
||||
"a": "item",
|
||||
"t": "21",
|
||||
"n": 1
|
||||
},
|
||||
"needExp": 2950,
|
||||
"reward": {
|
||||
"30": {
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 5000000
|
||||
},
|
||||
"60": {
|
||||
"a": "item",
|
||||
"t": "24",
|
||||
"n": 26
|
||||
},
|
||||
"100": {
|
||||
"a": "item",
|
||||
"t": "18",
|
||||
"n": 400
|
||||
},
|
||||
"150": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"200": {
|
||||
"a": "item",
|
||||
"t": "611",
|
||||
"n": 1
|
||||
},
|
||||
"250": {
|
||||
"a": "attr",
|
||||
"t": "nexp",
|
||||
"n": 2000000
|
||||
},
|
||||
"300": {
|
||||
"a": "item",
|
||||
"t": "10",
|
||||
"n": 150
|
||||
},
|
||||
"350": {
|
||||
"a": "hero",
|
||||
"t": "5005",
|
||||
"n": 1
|
||||
}
|
||||
},
|
||||
"buff": {
|
||||
"atk": 117,
|
||||
"def": 48,
|
||||
"hp": 913
|
||||
},
|
||||
"upBuff": {
|
||||
"atk": 17,
|
||||
"def": 8,
|
||||
"hp": 148
|
||||
},
|
||||
"privilege": {
|
||||
"hero_buff": {
|
||||
"hppro": 0.06
|
||||
}
|
||||
},
|
||||
"img": 3006,
|
||||
"des": "mingDao_des_14",
|
||||
"privilege_des": "mingDao_tequan_14"
|
||||
}
|
||||
}
|
@ -14,13 +14,18 @@
|
||||
p: 2,
|
||||
pmd: true,
|
||||
prize: [{a: 'item', t: '5001', n: 20}, {a: 'item', t: '5003', n: 20}, {a: 'item', t: '5005', n: 20}]
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
pmd: false,
|
||||
prize: [{a: 'item', t: '638', n: 1}]
|
||||
},
|
||||
{
|
||||
p: 5,
|
||||
pmd: false,
|
||||
prize: [{a: 'item', t: '18', n:300},{a: 'item', t: '20', n: 350}]
|
||||
},
|
||||
{
|
||||
{
|
||||
p: 6,
|
||||
pmd: true,
|
||||
prize: [{a: 'item', t: '609', n:1}]
|
||||
|
1630
src/json/npc.json
1630
src/json/npc.json
File diff suppressed because it is too large
Load Diff
@ -835,13 +835,13 @@
|
||||
"name": "zc_btn_hs",
|
||||
"undefined": "黑市",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"zc_btn_jg": {
|
||||
@ -887,78 +887,78 @@
|
||||
"name": "shouchong",
|
||||
"undefined": "首充",
|
||||
"and": {
|
||||
"mapId": 8
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 8
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"kaifukuanghuan": {
|
||||
"name": "kaifukuanghuan",
|
||||
"undefined": "开服狂欢",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"cz_jijin": {
|
||||
"name": "cz_jijin",
|
||||
"undefined": "基金入口",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"jijin": {
|
||||
"name": "jijin",
|
||||
"undefined": "基金",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"jijin_gkjj": {
|
||||
"name": "jijin_gkjj",
|
||||
"undefined": "关卡基金",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"jijin_tbtxz": {
|
||||
"name": "jijin_tbtxz",
|
||||
"undefined": "特别通行证",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"jijin_tszl": {
|
||||
@ -980,13 +980,13 @@
|
||||
"name": "yuedujijin",
|
||||
"undefined": "月度基金",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_71",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"zhanling": {
|
||||
@ -1006,130 +1006,130 @@
|
||||
"name": "dengludali",
|
||||
"undefined": "登录大礼(7日)",
|
||||
"and": {
|
||||
"lv": 13
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_73",
|
||||
"display": {
|
||||
"lv": 13
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"yibaichou": {
|
||||
"name": "yibaichou",
|
||||
"undefined": "百抽活动",
|
||||
"and": {
|
||||
"lv": 7
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_74",
|
||||
"display": {
|
||||
"lv": 7
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"xinfupeiyang": {
|
||||
"name": "xinfupeiyang",
|
||||
"undefined": "心腹培养",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_75",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"huobanzhaomu": {
|
||||
"name": "huobanzhaomu",
|
||||
"undefined": "伙伴招募",
|
||||
"and": {
|
||||
"mapId": 50
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_76",
|
||||
"display": {
|
||||
"mapId": 50
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"xinshoulibao": {
|
||||
"name": "xinshoulibao",
|
||||
"undefined": "冲刺礼包",
|
||||
"and": {
|
||||
"lv": 21
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_77",
|
||||
"display": {
|
||||
"lv": 21
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"leijichongzhi": {
|
||||
"name": "leijichongzhi",
|
||||
"undefined": "累计充值",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_78",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"diaoluoduihuan": {
|
||||
"name": "diaoluoduihuan",
|
||||
"undefined": "掉落兑换",
|
||||
"and": {
|
||||
"openTime": 8
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_79",
|
||||
"display": {
|
||||
"openTime": 8
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"rencaijihua": {
|
||||
"name": "rencaijihua",
|
||||
"undefined": "人才计划",
|
||||
"and": {
|
||||
"lv": 13
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_80",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 13
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"zc_img6": {
|
||||
"name": "zc_img6",
|
||||
"undefined": "每日签到",
|
||||
"and": {
|
||||
"lv": 13
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_81",
|
||||
"display": {
|
||||
"lv": 13
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"dianfengrongyao": {
|
||||
"name": "dianfengrongyao",
|
||||
"undefined": "巅峰荣耀",
|
||||
"and": {
|
||||
"lv": 20
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_82",
|
||||
"display": {
|
||||
"lv": 20
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"tuisonglibao": {
|
||||
@ -1149,130 +1149,130 @@
|
||||
"name": "hs_btn_tqlb",
|
||||
"undefined": "特权礼包",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_84",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_ndj": {
|
||||
"name": "hs_btn_ndj",
|
||||
"undefined": "扭蛋机",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_85",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_yk": {
|
||||
"name": "hs_btn_yk",
|
||||
"undefined": "月卡",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_86",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_zsk": {
|
||||
"name": "hs_btn_zsk",
|
||||
"undefined": "终身卡",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_87",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_mrjx": {
|
||||
"name": "hs_btn_mrjx",
|
||||
"undefined": "每日精选",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_88",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_jthl": {
|
||||
"name": "hs_btn_jthl",
|
||||
"undefined": "积天豪礼",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_89",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"hs_btn_zlb": {
|
||||
"name": "hs_btn_zlb",
|
||||
"undefined": "周礼包",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_90",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"shangcheng": {
|
||||
"name": "shangcheng",
|
||||
"undefined": "商城",
|
||||
"and": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_64",
|
||||
"display": {
|
||||
"mapId": 20
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"fuli": {
|
||||
"name": "fuli",
|
||||
"undefined": "福利",
|
||||
"and": {
|
||||
"lv": 13
|
||||
"lv": 7
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_92",
|
||||
"display": {
|
||||
"lv": 13
|
||||
"lv": 7
|
||||
}
|
||||
},
|
||||
"xianshihuodong": {
|
||||
"name": "xianshihuodong",
|
||||
"undefined": "限时活动",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_93",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"hb_btn_yjtz": {
|
||||
@ -1285,111 +1285,124 @@
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_94",
|
||||
"display": {
|
||||
"lv": 7
|
||||
"lv": 30
|
||||
}
|
||||
},
|
||||
"kaifujingsai": {
|
||||
"name": "kaifujingsai",
|
||||
"undefined": "开服竞赛",
|
||||
"and": {
|
||||
"lv": 20
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_95",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 20
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"zhoumolibao": {
|
||||
"name": "zhoumolibao",
|
||||
"undefined": "周末礼包",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"shengdanhuodong": {
|
||||
"name": "shengdanhuodong",
|
||||
"undefined": "圣诞活动",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"yuandanhuodong": {
|
||||
"name": "yuandanhuodong",
|
||||
"undefined": "元旦活动",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"czlibao": {
|
||||
"name": "czlibao",
|
||||
"undefined": "超值礼包破冰",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"xiaofeijingsai": {
|
||||
"name": "xiaofeijingsai",
|
||||
"undefined": "钻石消费竞赛",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"leigoulibao": {
|
||||
"name": "leigoulibao",
|
||||
"undefined": "累购礼包",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 10
|
||||
}
|
||||
},
|
||||
"weiwang": {
|
||||
"name": "weiwang",
|
||||
"undefined": "威望",
|
||||
"and": {
|
||||
"lv": 15
|
||||
"lv": 12
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
"lv": 12
|
||||
}
|
||||
},
|
||||
"huangqijiuiguan": {
|
||||
"name": "huangqijiuiguan",
|
||||
"undefined": "黄旗酒馆",
|
||||
"and": {
|
||||
"lv": 10
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 10
|
||||
}
|
||||
}
|
||||
}
|
1200
src/json/pay.json
1200
src/json/pay.json
File diff suppressed because it is too large
Load Diff
@ -3470,7 +3470,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 8,
|
||||
"rmPrize": [
|
||||
|
@ -2,12 +2,12 @@
|
||||
"1": {
|
||||
"id": 1,
|
||||
"name": "playerChatFrame_name_1",
|
||||
"undefined": "玩家初始默认聊天框",
|
||||
"img": "lt_dhk1",
|
||||
"cond": [
|
||||
"lv",
|
||||
1
|
||||
],
|
||||
"undefined": "进入游戏默认获得",
|
||||
"intr": "playerChatFrame_des_1",
|
||||
"sort": 1,
|
||||
"buff": {
|
||||
@ -19,12 +19,12 @@
|
||||
"2": {
|
||||
"id": 2,
|
||||
"name": "playerChatFrame_name_2",
|
||||
"undefined": "主角等级达到30级获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk3",
|
||||
"cond": [
|
||||
"lv",
|
||||
30
|
||||
],
|
||||
"undefined": "角色等级达到30级获得",
|
||||
"intr": "playerChatFrame_des_2",
|
||||
"sort": 2,
|
||||
"buff": {
|
||||
@ -36,12 +36,12 @@
|
||||
"3": {
|
||||
"id": 3,
|
||||
"name": "playerChatFrame_name_3",
|
||||
"undefined": "主角等级达到50级获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk4",
|
||||
"cond": [
|
||||
"lv",
|
||||
50
|
||||
],
|
||||
"undefined": "角色等级达到50级获得",
|
||||
"intr": "playerChatFrame_des_3",
|
||||
"sort": 3,
|
||||
"buff": {
|
||||
@ -53,12 +53,12 @@
|
||||
"4": {
|
||||
"id": 4,
|
||||
"name": "playerChatFrame_name_4",
|
||||
"undefined": "图鉴数量达到30个获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk5",
|
||||
"cond": [
|
||||
"tujianLv",
|
||||
7
|
||||
],
|
||||
"undefined": "图鉴数量达到30个获得",
|
||||
"intr": "playerChatFrame_des_4",
|
||||
"sort": 5,
|
||||
"buff": {
|
||||
@ -70,12 +70,12 @@
|
||||
"5": {
|
||||
"id": 5,
|
||||
"name": "playerChatFrame_name_5",
|
||||
"undefined": "VIP5获得,解锁后攻击加成+1%",
|
||||
"img": "lt_dhk7",
|
||||
"cond": [
|
||||
"vip",
|
||||
5
|
||||
],
|
||||
"undefined": "VIP5获得",
|
||||
"intr": "playerChatFrame_des_5",
|
||||
"sort": 4,
|
||||
"buff": {
|
||||
@ -87,12 +87,12 @@
|
||||
"6": {
|
||||
"id": 6,
|
||||
"name": "playerChatFrame_name_6",
|
||||
"undefined": "跨服势力战最高品质据点第一势力成员,解锁后攻击加成+1%、生命加成+1%(限时7天)",
|
||||
"img": "lt_dhk11",
|
||||
"cond": [
|
||||
"time",
|
||||
604800
|
||||
],
|
||||
"undefined": "跨服势力战最高品质据点第一势力成员",
|
||||
"intr": "playerChatFrame_des_6",
|
||||
"sort": 6,
|
||||
"buff": {
|
||||
@ -105,12 +105,12 @@
|
||||
"7": {
|
||||
"id": 7,
|
||||
"name": "playerChatFrame_name_7",
|
||||
"undefined": "名望等级达到七阶获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk13",
|
||||
"cond": [
|
||||
"renown",
|
||||
61
|
||||
],
|
||||
"undefined": "名望等级达到七阶获得",
|
||||
"intr": "playerChatFrame_des_7",
|
||||
"sort": 7,
|
||||
"buff": {
|
||||
@ -122,12 +122,12 @@
|
||||
"8": {
|
||||
"id": 8,
|
||||
"name": "playerChatFrame_name_8",
|
||||
"undefined": "圣诞庆典活动获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk14",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"undefined": "圣诞庆典获得",
|
||||
"intr": "playerChatFrame_des_8",
|
||||
"sort": 8,
|
||||
"buff": {
|
||||
@ -139,12 +139,12 @@
|
||||
"9": {
|
||||
"id": 9,
|
||||
"name": "playerChatFrame_name_9",
|
||||
"undefined": "新年庆典活动获得,解锁后防御加成+1%",
|
||||
"img": "lt_dhk15",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"undefined": "新年庆典获得",
|
||||
"intr": "playerChatFrame_des_9",
|
||||
"sort": 9,
|
||||
"buff": {
|
||||
|
@ -69,7 +69,7 @@
|
||||
1001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_1001",
|
||||
"sort": 42,
|
||||
"sort": 43,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -84,7 +84,7 @@
|
||||
1002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_1002",
|
||||
"sort": 43,
|
||||
"sort": 44,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -99,7 +99,7 @@
|
||||
2001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_2001",
|
||||
"sort": 40,
|
||||
"sort": 41,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -114,7 +114,7 @@
|
||||
2002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_2002",
|
||||
"sort": 41,
|
||||
"sort": 42,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -129,7 +129,7 @@
|
||||
3001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3001",
|
||||
"sort": 25,
|
||||
"sort": 26,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -144,7 +144,7 @@
|
||||
3002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3002",
|
||||
"sort": 26,
|
||||
"sort": 27,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -159,7 +159,7 @@
|
||||
3003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3003",
|
||||
"sort": 27,
|
||||
"sort": 28,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -174,7 +174,7 @@
|
||||
3004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3004",
|
||||
"sort": 28,
|
||||
"sort": 29,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -189,7 +189,7 @@
|
||||
3005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3005",
|
||||
"sort": 29,
|
||||
"sort": 30,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -204,7 +204,7 @@
|
||||
3006
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3006",
|
||||
"sort": 30,
|
||||
"sort": 31,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -219,7 +219,7 @@
|
||||
3007
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3007",
|
||||
"sort": 31,
|
||||
"sort": 32,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -234,7 +234,7 @@
|
||||
3008
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3008",
|
||||
"sort": 32,
|
||||
"sort": 33,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -249,7 +249,7 @@
|
||||
3009
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3009",
|
||||
"sort": 33,
|
||||
"sort": 34,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -264,7 +264,7 @@
|
||||
3010
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3010",
|
||||
"sort": 34,
|
||||
"sort": 35,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -279,7 +279,7 @@
|
||||
3011
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3011",
|
||||
"sort": 35,
|
||||
"sort": 36,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -294,7 +294,7 @@
|
||||
3012
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3012",
|
||||
"sort": 36,
|
||||
"sort": 37,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -309,7 +309,7 @@
|
||||
3013
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3013",
|
||||
"sort": 37,
|
||||
"sort": 38,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -324,7 +324,7 @@
|
||||
3014
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3014",
|
||||
"sort": 38,
|
||||
"sort": 39,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -339,7 +339,7 @@
|
||||
3015
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3015",
|
||||
"sort": 39,
|
||||
"sort": 40,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -354,7 +354,7 @@
|
||||
4001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4001",
|
||||
"sort": 10,
|
||||
"sort": 11,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -369,7 +369,7 @@
|
||||
4002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4002",
|
||||
"sort": 11,
|
||||
"sort": 12,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -384,7 +384,7 @@
|
||||
4003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4003",
|
||||
"sort": 12,
|
||||
"sort": 13,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -399,7 +399,7 @@
|
||||
4004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4004",
|
||||
"sort": 13,
|
||||
"sort": 14,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -414,7 +414,7 @@
|
||||
4005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4005",
|
||||
"sort": 14,
|
||||
"sort": 15,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -429,7 +429,7 @@
|
||||
4006
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4006",
|
||||
"sort": 15,
|
||||
"sort": 16,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -444,7 +444,7 @@
|
||||
4007
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4007",
|
||||
"sort": 16,
|
||||
"sort": 17,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -459,7 +459,7 @@
|
||||
4008
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4008",
|
||||
"sort": 17,
|
||||
"sort": 18,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -474,7 +474,7 @@
|
||||
4009
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4009",
|
||||
"sort": 18,
|
||||
"sort": 19,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -489,7 +489,7 @@
|
||||
4010
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4010",
|
||||
"sort": 19,
|
||||
"sort": 20,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -504,7 +504,7 @@
|
||||
4011
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4011",
|
||||
"sort": 20,
|
||||
"sort": 21,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -519,7 +519,7 @@
|
||||
4012
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4012",
|
||||
"sort": 21,
|
||||
"sort": 22,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -527,14 +527,14 @@
|
||||
"4013": {
|
||||
"id": 4013,
|
||||
"name": "intr_playerinfo_name_4013",
|
||||
"undefined": "获得干部格里达尔后解锁",
|
||||
"undefined": "获得干部葛丽特后解锁",
|
||||
"img": 4013,
|
||||
"cond": [
|
||||
"hero",
|
||||
4013
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4013",
|
||||
"sort": 22,
|
||||
"sort": 23,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -549,7 +549,7 @@
|
||||
4014
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4014",
|
||||
"sort": 23,
|
||||
"sort": 24,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -564,7 +564,7 @@
|
||||
4015
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4015",
|
||||
"sort": 24,
|
||||
"sort": 25,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -579,7 +579,7 @@
|
||||
5001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5001",
|
||||
"sort": 5,
|
||||
"sort": 6,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -594,7 +594,7 @@
|
||||
5002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5002",
|
||||
"sort": 6,
|
||||
"sort": 7,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -609,7 +609,7 @@
|
||||
5003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5003",
|
||||
"sort": 7,
|
||||
"sort": 8,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -624,7 +624,7 @@
|
||||
5004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5004",
|
||||
"sort": 8,
|
||||
"sort": 9,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -639,7 +639,22 @@
|
||||
5005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5005",
|
||||
"sort": 9,
|
||||
"sort": 10,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
},
|
||||
"50011": {
|
||||
"id": 50011,
|
||||
"name": "intr_playerinfo_name_50011",
|
||||
"undefined": "获得干部莱薇外观【兔女郎】后解锁",
|
||||
"img": 50011,
|
||||
"cond": [
|
||||
"heroskin",
|
||||
50011
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_50011",
|
||||
"sort": 5,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
|
@ -139,7 +139,7 @@
|
||||
"id": 9,
|
||||
"name": "playerheadFrame_name_9",
|
||||
"undefined": "名望等级达到五阶获得,解锁后防御加成+1%",
|
||||
"img": "txk_005",
|
||||
"img": "txk_012",
|
||||
"cond": [
|
||||
"renown",
|
||||
41
|
||||
@ -311,7 +311,7 @@
|
||||
"id": 19,
|
||||
"name": "playerheadFrame_name_19",
|
||||
"undefined": "开服冲榜活动获得,解锁后攻击加成+1%",
|
||||
"img": "txk_004",
|
||||
"img": "txk_006",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
@ -395,8 +395,8 @@
|
||||
"24": {
|
||||
"id": 24,
|
||||
"name": "playerheadFrame_name_24",
|
||||
"undefined": "消费竞赛活动前三名获得,解锁后伤害加成+1%(限时7天)",
|
||||
"img": "txk_025",
|
||||
"undefined": "消费竞赛活动获得,解锁后伤害加成+1%(限时7天)",
|
||||
"img": "txk_015",
|
||||
"cond": [
|
||||
"time",
|
||||
604800
|
||||
@ -425,5 +425,22 @@
|
||||
},
|
||||
"colour": 4,
|
||||
"ani": ""
|
||||
},
|
||||
"26": {
|
||||
"id": 26,
|
||||
"name": "playerheadFrame_name_26",
|
||||
"undefined": "黄旗酒馆活动获得,解锁后生命加成+1%",
|
||||
"img": "txk_007",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerheadFrame_des_26",
|
||||
"sort": 26,
|
||||
"buff": {
|
||||
"hppro": 0.01
|
||||
},
|
||||
"colour": 5,
|
||||
"ani": ""
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
"id": 1,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_1",
|
||||
"undefined": "主角初始默认的男形象",
|
||||
"head": 10001,
|
||||
"img": "zhu_10001",
|
||||
"cond": [
|
||||
@ -20,6 +21,7 @@
|
||||
"id": 2,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_2",
|
||||
"undefined": "主角初始默认的女形象",
|
||||
"head": 10002,
|
||||
"img": "zhu_10002",
|
||||
"cond": [
|
||||
@ -37,6 +39,7 @@
|
||||
"id": 3,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_3",
|
||||
"undefined": "圣诞庆典活动获得,解锁后防御加成+2%",
|
||||
"head": 100011,
|
||||
"img": 100011,
|
||||
"cond": [
|
||||
@ -56,6 +59,7 @@
|
||||
"id": 4,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_4",
|
||||
"undefined": "圣诞庆典活动获得,解锁后攻击加成+2%",
|
||||
"head": 100021,
|
||||
"img": 100021,
|
||||
"cond": [
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,360 +3,600 @@
|
||||
"id": 1,
|
||||
"renownlevel": 1,
|
||||
"maxlevel": 250,
|
||||
"cost": 5,
|
||||
"atk": 2,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 8
|
||||
"hp": 4
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"renownlevel": 2,
|
||||
"maxlevel": 500,
|
||||
"cost": 6,
|
||||
"atk": 2,
|
||||
"maxlevel": 750,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 9
|
||||
"hp": 4
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"renownlevel": 3,
|
||||
"maxlevel": 750,
|
||||
"cost": 7,
|
||||
"atk": 2,
|
||||
"maxlevel": 1500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 10
|
||||
"hp": 4
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"renownlevel": 4,
|
||||
"maxlevel": 1000,
|
||||
"cost": 9,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 11
|
||||
"maxlevel": 2500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"renownlevel": 5,
|
||||
"maxlevel": 1250,
|
||||
"cost": 11,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 12
|
||||
"maxlevel": 3750,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"renownlevel": 6,
|
||||
"maxlevel": 1500,
|
||||
"cost": 13,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 13
|
||||
"maxlevel": 5250,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"renownlevel": 7,
|
||||
"maxlevel": 1750,
|
||||
"cost": 15,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 14
|
||||
"maxlevel": 7000,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"renownlevel": 8,
|
||||
"maxlevel": 2000,
|
||||
"cost": 17,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 15
|
||||
"maxlevel": 9000,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"renownlevel": 9,
|
||||
"maxlevel": 2500,
|
||||
"cost": 19,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 16
|
||||
"maxlevel": 11250,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"renownlevel": 10,
|
||||
"maxlevel": 3000,
|
||||
"cost": 21,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 17
|
||||
"maxlevel": 13750,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 4
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"renownlevel": 11,
|
||||
"maxlevel": 3500,
|
||||
"cost": 23,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 18
|
||||
"maxlevel": 16500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 5
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"renownlevel": 12,
|
||||
"maxlevel": 4000,
|
||||
"cost": 25,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 19
|
||||
"maxlevel": 19500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 5
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"renownlevel": 13,
|
||||
"maxlevel": 4500,
|
||||
"cost": 27,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 20
|
||||
"maxlevel": 22750,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 5
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"renownlevel": 14,
|
||||
"maxlevel": 5000,
|
||||
"cost": 30,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 21
|
||||
"maxlevel": 26250,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 5
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"renownlevel": 15,
|
||||
"maxlevel": 5000,
|
||||
"cost": 33,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 21
|
||||
"maxlevel": 30000,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 2
|
||||
}
|
||||
],
|
||||
"atk": 1.2,
|
||||
"def": 1,
|
||||
"hp": 5
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
"renownlevel": 16,
|
||||
"maxlevel": 5000,
|
||||
"cost": 36,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
"maxlevel": 34000,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 6
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"renownlevel": 17,
|
||||
"maxlevel": 5000,
|
||||
"cost": 39,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
"maxlevel": 38250,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 9
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 6
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
"renownlevel": 18,
|
||||
"maxlevel": 5000,
|
||||
"cost": 42,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
"maxlevel": 42750,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 13
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 6
|
||||
},
|
||||
"19": {
|
||||
"id": 19,
|
||||
"renownlevel": 19,
|
||||
"maxlevel": 5000,
|
||||
"cost": 45,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
"maxlevel": 47500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 17
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 6
|
||||
},
|
||||
"20": {
|
||||
"id": 20,
|
||||
"renownlevel": 20,
|
||||
"maxlevel": 5000,
|
||||
"cost": 48,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
"maxlevel": 52500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 21
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 6
|
||||
},
|
||||
"21": {
|
||||
"id": 21,
|
||||
"renownlevel": 21,
|
||||
"maxlevel": 5000,
|
||||
"cost": 51,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
"maxlevel": 57500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 23
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 7
|
||||
},
|
||||
"22": {
|
||||
"id": 22,
|
||||
"renownlevel": 22,
|
||||
"maxlevel": 5000,
|
||||
"cost": 54,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
"maxlevel": 62500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 25
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 7
|
||||
},
|
||||
"23": {
|
||||
"id": 23,
|
||||
"renownlevel": 23,
|
||||
"maxlevel": 5000,
|
||||
"cost": 57,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
"maxlevel": 67500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 30
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 7
|
||||
},
|
||||
"24": {
|
||||
"id": 24,
|
||||
"renownlevel": 24,
|
||||
"maxlevel": 5000,
|
||||
"cost": 60,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
"maxlevel": 72500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 35
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 7
|
||||
},
|
||||
"25": {
|
||||
"id": 25,
|
||||
"renownlevel": 25,
|
||||
"maxlevel": 5000,
|
||||
"cost": 63,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
"maxlevel": 77500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 40
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 7
|
||||
},
|
||||
"26": {
|
||||
"id": 26,
|
||||
"renownlevel": 26,
|
||||
"maxlevel": 5000,
|
||||
"cost": 66,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
"maxlevel": 82500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 45
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"27": {
|
||||
"id": 27,
|
||||
"renownlevel": 27,
|
||||
"maxlevel": 5000,
|
||||
"cost": 69,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
"maxlevel": 87500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 50
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"28": {
|
||||
"id": 28,
|
||||
"renownlevel": 28,
|
||||
"maxlevel": 5000,
|
||||
"cost": 72,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
"maxlevel": 92500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 60
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"29": {
|
||||
"id": 29,
|
||||
"renownlevel": 29,
|
||||
"maxlevel": 5000,
|
||||
"cost": 75,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
"maxlevel": 97500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 80
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"30": {
|
||||
"id": 30,
|
||||
"renownlevel": 30,
|
||||
"maxlevel": 5000,
|
||||
"cost": 78,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
"maxlevel": 102500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"31": {
|
||||
"id": 31,
|
||||
"renownlevel": 31,
|
||||
"maxlevel": 5000,
|
||||
"cost": 81,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
"maxlevel": 107500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 120
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"32": {
|
||||
"id": 32,
|
||||
"renownlevel": 32,
|
||||
"maxlevel": 5000,
|
||||
"cost": 84,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
"maxlevel": 112500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 140
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"33": {
|
||||
"id": 33,
|
||||
"renownlevel": 33,
|
||||
"maxlevel": 5000,
|
||||
"cost": 87,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 117500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 180
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"34": {
|
||||
"id": 34,
|
||||
"renownlevel": 34,
|
||||
"maxlevel": 5000,
|
||||
"cost": 90,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 122500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 220
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"35": {
|
||||
"id": 35,
|
||||
"renownlevel": 35,
|
||||
"maxlevel": 5000,
|
||||
"cost": 93,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 127500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 260
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"36": {
|
||||
"id": 36,
|
||||
"renownlevel": 36,
|
||||
"maxlevel": 5000,
|
||||
"cost": 97,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 132500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"37": {
|
||||
"id": 37,
|
||||
"renownlevel": 37,
|
||||
"maxlevel": 5000,
|
||||
"cost": 101,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 137500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 350
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"38": {
|
||||
"id": 38,
|
||||
"renownlevel": 38,
|
||||
"maxlevel": 5000,
|
||||
"cost": 105,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 142500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 400
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"39": {
|
||||
"id": 39,
|
||||
"renownlevel": 39,
|
||||
"maxlevel": 5000,
|
||||
"cost": 109,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 147500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 450
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
},
|
||||
"40": {
|
||||
"id": 40,
|
||||
"renownlevel": 40,
|
||||
"maxlevel": 5000,
|
||||
"cost": 113,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
"maxlevel": 152500,
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "weiwang",
|
||||
"n": 500
|
||||
}
|
||||
],
|
||||
"atk": 1.4,
|
||||
"def": 1.2,
|
||||
"hp": 8
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@
|
||||
{ need: [{a: 'attr', t: 'rmbmoney', n: 200}], prize: [{a: 'item', t: '15', n: 300}], maxNum: 3, addExp: 100, vipAddNum: [1,1,1,1,1,1,1,1,3,3,3,5,5,7,9,13,15,21] },
|
||||
],
|
||||
//弹劾时间
|
||||
tanheTime: 86400,
|
||||
tanheTime: 259200,
|
||||
//公会任务
|
||||
ghTask: [
|
||||
{ total: 30, prize: [{a: 'item', t: '19', n: 1},{a: 'item', t: '9', n: 10},{a: 'attr', t: 'jinbi', n: 50000}]},
|
||||
|
@ -100,7 +100,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"addhp": [
|
||||
"addmaxhp": [
|
||||
0.004,
|
||||
0.008
|
||||
]
|
||||
@ -162,7 +162,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"addhp": [
|
||||
"addmaxhp": [
|
||||
0.006,
|
||||
0.01
|
||||
]
|
||||
@ -224,7 +224,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"addhp": [
|
||||
"addmaxhp": [
|
||||
0.09,
|
||||
0.013
|
||||
]
|
||||
@ -286,7 +286,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"addhp": [
|
||||
"addmaxhp": [
|
||||
0.011,
|
||||
0.016
|
||||
]
|
||||
@ -348,7 +348,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"addhp": [
|
||||
"addmaxhp": [
|
||||
0.012,
|
||||
0.02
|
||||
]
|
||||
@ -360,27 +360,27 @@
|
||||
{
|
||||
"range": [
|
||||
0,
|
||||
0.33
|
||||
0.333
|
||||
],
|
||||
"color": 2
|
||||
},
|
||||
{
|
||||
"range": [
|
||||
0.33,
|
||||
0.66
|
||||
0.334,
|
||||
0.666
|
||||
],
|
||||
"color": 3
|
||||
},
|
||||
{
|
||||
"range": [
|
||||
0.66,
|
||||
0.99
|
||||
0.667,
|
||||
0.999
|
||||
],
|
||||
"color": 4
|
||||
},
|
||||
{
|
||||
"range": [
|
||||
0.99,
|
||||
0.999,
|
||||
1
|
||||
],
|
||||
"color": 5
|
||||
|
@ -1705,13 +1705,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.01的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有1%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01301": {
|
||||
"skillid": "tx01301",
|
||||
@ -1724,13 +1724,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.02的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有2%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01302": {
|
||||
"skillid": "tx01302",
|
||||
@ -1743,13 +1743,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.03的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有3%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01303": {
|
||||
"skillid": "tx01303",
|
||||
@ -1762,13 +1762,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.04的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有4%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01304": {
|
||||
"skillid": "tx01304",
|
||||
@ -1781,13 +1781,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.05的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有5%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01305": {
|
||||
"skillid": "tx01305",
|
||||
@ -1800,13 +1800,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.06的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有6%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01306": {
|
||||
"skillid": "tx01306",
|
||||
@ -1819,13 +1819,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.07的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有7%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01307": {
|
||||
"skillid": "tx01307",
|
||||
@ -1838,13 +1838,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.08的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有8%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01308": {
|
||||
"skillid": "tx01308",
|
||||
@ -1857,13 +1857,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.09的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有9%的几率造成双倍伤害"
|
||||
},
|
||||
"tx01309": {
|
||||
"skillid": "tx01309",
|
||||
@ -1876,13 +1876,13 @@
|
||||
"sxleixing": "attr",
|
||||
"buff_type": 1,
|
||||
"xiaoguocanshu": {
|
||||
"dpspro": 2
|
||||
"dpspro": 1
|
||||
},
|
||||
"round": 2,
|
||||
"round": 3,
|
||||
"group": "tx01300",
|
||||
"jiejiaxiaoguo": "retime",
|
||||
"diejiacengshu": 1,
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有0.10的几率造成双倍伤害"
|
||||
"describe": "进入战斗后的前2回合进入致命状态,攻击敌人时有10%的几率造成双倍伤害"
|
||||
},
|
||||
"tx02300": {
|
||||
"skillid": "tx02300",
|
||||
|
@ -4,7 +4,7 @@
|
||||
//开放时间
|
||||
openTime: [0, 514800],
|
||||
//结算定时器时间
|
||||
schedulerPrize: 597600,
|
||||
schedulerPrize: 515100,
|
||||
//分组定时器时间
|
||||
schedulerGroup: 0,
|
||||
//据点
|
||||
|
15120
src/json/tanxian.json
15120
src/json/tanxian.json
File diff suppressed because it is too large
Load Diff
@ -1402,5 +1402,135 @@
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"109": {
|
||||
"id": 109,
|
||||
"mapId": 1090,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"110": {
|
||||
"id": 110,
|
||||
"mapId": 1100,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"111": {
|
||||
"id": 111,
|
||||
"mapId": 1110,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"112": {
|
||||
"id": 112,
|
||||
"mapId": 1120,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"113": {
|
||||
"id": 113,
|
||||
"mapId": 1130,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"114": {
|
||||
"id": 114,
|
||||
"mapId": 1140,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"115": {
|
||||
"id": 115,
|
||||
"mapId": 1150,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"116": {
|
||||
"id": 116,
|
||||
"mapId": 1160,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"117": {
|
||||
"id": 117,
|
||||
"mapId": 1170,
|
||||
"prize": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
},
|
||||
"118": {
|
||||
"id": 118,
|
||||
"mapId": 1180,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"chapter": 14,
|
||||
"des": "intr_guanqia_des_1"
|
||||
}
|
||||
}
|
3102
src/json/task.json
3102
src/json/task.json
File diff suppressed because it is too large
Load Diff
@ -388,10 +388,10 @@
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
15
|
||||
10
|
||||
],
|
||||
"payId": [
|
||||
"lv15"
|
||||
"lv10"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
@ -588,5 +588,155 @@
|
||||
"displayCD": 3600,
|
||||
"scale": 3000,
|
||||
"icon": "djlb"
|
||||
},
|
||||
"501": {
|
||||
"id": 501,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
250
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"502": {
|
||||
"id": 502,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
250
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"503": {
|
||||
"id": 503,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
19500
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"504": {
|
||||
"id": 504,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
19500
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"505": {
|
||||
"id": 505,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
30000
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"506": {
|
||||
"id": 506,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
30000
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_1,yxl_libao_2"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"507": {
|
||||
"id": 507,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
42750
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_2,yxl_libao_3"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"508": {
|
||||
"id": 508,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
42750
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_2,yxl_libao_3"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"509": {
|
||||
"id": 509,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
62500
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_2,yxl_libao_3"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
},
|
||||
"510": {
|
||||
"id": 510,
|
||||
"type": 6,
|
||||
"typeName": "tuisonglibao_name_6",
|
||||
"num": [
|
||||
62500
|
||||
],
|
||||
"payId": [
|
||||
"yxl_libao_2,yxl_libao_3"
|
||||
],
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "gkts"
|
||||
}
|
||||
}
|
@ -14,9 +14,10 @@
|
||||
"n": 10000
|
||||
}
|
||||
],
|
||||
"p": 3,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_1",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
@ -33,9 +34,10 @@
|
||||
"n": 80
|
||||
}
|
||||
],
|
||||
"p": 4,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_2",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
@ -54,7 +56,8 @@
|
||||
],
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_3",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
@ -71,9 +74,10 @@
|
||||
"n": 30
|
||||
}
|
||||
],
|
||||
"p": 6,
|
||||
"p": 1,
|
||||
"intr": "intr_xuanshangrenwu_intr_4",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
@ -90,9 +94,10 @@
|
||||
"n": 20000
|
||||
}
|
||||
],
|
||||
"p": 7,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_5",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
@ -109,9 +114,10 @@
|
||||
"n": 60
|
||||
}
|
||||
],
|
||||
"p": 8,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_4",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
@ -128,9 +134,10 @@
|
||||
"n": 20000
|
||||
}
|
||||
],
|
||||
"p": 9,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_5",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
@ -147,9 +154,10 @@
|
||||
"n": 40000
|
||||
}
|
||||
],
|
||||
"p": 10,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_6",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
@ -166,9 +174,10 @@
|
||||
"n": 110
|
||||
}
|
||||
],
|
||||
"p": 11,
|
||||
"p": 1,
|
||||
"intr": "intr_xuanshangrenwu_intr_7",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
@ -185,9 +194,10 @@
|
||||
"n": 30000
|
||||
}
|
||||
],
|
||||
"p": 12,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_8",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
@ -204,9 +214,10 @@
|
||||
"n": 30000
|
||||
}
|
||||
],
|
||||
"p": 13,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_6",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
@ -223,9 +234,10 @@
|
||||
"n": 140
|
||||
}
|
||||
],
|
||||
"p": 14,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_7",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
@ -242,9 +254,10 @@
|
||||
"n": 60000
|
||||
}
|
||||
],
|
||||
"p": 15,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_8",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
@ -261,9 +274,10 @@
|
||||
"n": 40000
|
||||
}
|
||||
],
|
||||
"p": 16,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_9",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
@ -280,9 +294,10 @@
|
||||
"n": 90
|
||||
}
|
||||
],
|
||||
"p": 17,
|
||||
"p": 2,
|
||||
"intr": "intr_xuanshangrenwu_intr_10",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
@ -299,9 +314,10 @@
|
||||
"n": 40000
|
||||
}
|
||||
],
|
||||
"p": 18,
|
||||
"p": 4,
|
||||
"intr": "intr_xuanshangrenwu_intr_8",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
@ -318,9 +334,10 @@
|
||||
"n": 50000
|
||||
}
|
||||
],
|
||||
"p": 19,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_9",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
@ -337,9 +354,10 @@
|
||||
"n": 120
|
||||
}
|
||||
],
|
||||
"p": 20,
|
||||
"p": 1,
|
||||
"intr": "intr_xuanshangrenwu_intr_10",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"19": {
|
||||
"id": 19,
|
||||
@ -356,9 +374,10 @@
|
||||
"n": 80000
|
||||
}
|
||||
],
|
||||
"p": 21,
|
||||
"p": 4,
|
||||
"intr": "intr_xuanshangrenwu_intr_11",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"20": {
|
||||
"id": 20,
|
||||
@ -375,9 +394,10 @@
|
||||
"n": 170
|
||||
}
|
||||
],
|
||||
"p": 22,
|
||||
"p": 4,
|
||||
"intr": "intr_xuanshangrenwu_intr_12",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"21": {
|
||||
"id": 21,
|
||||
@ -394,9 +414,10 @@
|
||||
"n": 100000
|
||||
}
|
||||
],
|
||||
"p": 23,
|
||||
"p": 3,
|
||||
"intr": "intr_xuanshangrenwu_intr_11",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"22": {
|
||||
"id": 22,
|
||||
@ -413,9 +434,10 @@
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"p": 24,
|
||||
"p": 2,
|
||||
"intr": "intr_xuanshangrenwu_intr_12",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"23": {
|
||||
"id": 23,
|
||||
@ -432,9 +454,10 @@
|
||||
"n": 150
|
||||
}
|
||||
],
|
||||
"p": 25,
|
||||
"p": 1,
|
||||
"intr": "intr_xuanshangrenwu_intr_13",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"24": {
|
||||
"id": 24,
|
||||
@ -451,9 +474,10 @@
|
||||
"n": 50000
|
||||
}
|
||||
],
|
||||
"p": 26,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_14",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"25": {
|
||||
"id": 25,
|
||||
@ -470,9 +494,10 @@
|
||||
"n": 60000
|
||||
}
|
||||
],
|
||||
"p": 27,
|
||||
"p": 2,
|
||||
"intr": "intr_xuanshangrenwu_intr_15",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"26": {
|
||||
"id": 26,
|
||||
@ -489,9 +514,10 @@
|
||||
"n": 60000
|
||||
}
|
||||
],
|
||||
"p": 28,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_14",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"27": {
|
||||
"id": 27,
|
||||
@ -508,9 +534,10 @@
|
||||
"n": 75000
|
||||
}
|
||||
],
|
||||
"p": 29,
|
||||
"p": 5,
|
||||
"intr": "intr_xuanshangrenwu_intr_15",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"28": {
|
||||
"id": 28,
|
||||
@ -527,9 +554,10 @@
|
||||
"n": 180
|
||||
}
|
||||
],
|
||||
"p": 30,
|
||||
"p": 1,
|
||||
"intr": "intr_xuanshangrenwu_intr_16",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 3
|
||||
},
|
||||
"29": {
|
||||
"id": 29,
|
||||
@ -546,9 +574,10 @@
|
||||
"n": 230
|
||||
}
|
||||
],
|
||||
"p": 31,
|
||||
"p": 2,
|
||||
"intr": "intr_xuanshangrenwu_intr_17",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
},
|
||||
"30": {
|
||||
"id": 30,
|
||||
@ -565,8 +594,9 @@
|
||||
"n": 120000
|
||||
}
|
||||
],
|
||||
"p": 32,
|
||||
"p": 4,
|
||||
"intr": "intr_xuanshangrenwu_intr_18",
|
||||
"img": "icon_jinbi"
|
||||
"img": "icon_jinbi",
|
||||
"jiequNum": 0
|
||||
}
|
||||
}
|
@ -106,6 +106,18 @@ type gc_clsl_com = {
|
||||
"divide": { "day": [number, number], "group": number, [x: string]: any }[], "divideTime": number, "fightTime": [number, number], "prizeTime": number, "fightWinPrize": { "total": number, "prize": { "a": string, "t": string, "n": number, [x: string]: any }[], "star": number, [x: string]: any }[], "fightNum": number, "vipBuyFightNum": [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], "buyFightNumNeed": { "a": string, "t": string, "n": number, [x: string]: any }[], "rankPrize": { "rank": [number, number], "prize": { "a": string, "t": string, "n": number, [x: string]: any }[], "title": string, [x: string]: any }[], "danPrize": { "star": number, "prize": { "a": string, "t": string, "n": number, [x: string]: any }[], [x: string]: any }[], "email_rank": { "title": string, "content": string, [x: string]: any }, "email_dan": { "title": string, "content": string, [x: string]: any }, [x: string]: any
|
||||
}
|
||||
|
||||
type gc_renown_level = {
|
||||
[id: string]: {
|
||||
id: number,
|
||||
renownlevel: number,
|
||||
maxlevel: number,
|
||||
cost: { "a": string, "t": string, "n": number, [x: string]: any }[],
|
||||
atk: number,
|
||||
def: number,
|
||||
hp: number,
|
||||
}
|
||||
}
|
||||
|
||||
type gc_clsl_dan = k_v<{
|
||||
/** 总星级 */
|
||||
'allStar': number
|
||||
@ -124,9 +136,9 @@ type gc_clsl_dan = k_v<{
|
||||
/** 机器人 */
|
||||
'npc': number,
|
||||
/** 随机机器人概率*/
|
||||
'pro':number
|
||||
'pro': number
|
||||
/** 对手范围 */
|
||||
'fighter':number[]
|
||||
'fighter': number[]
|
||||
}>;
|
||||
|
||||
type gc_com = k_v<{
|
||||
@ -788,6 +800,8 @@ type gc_npc = k_v<{
|
||||
'ghname': string
|
||||
/**npc名称 */
|
||||
'npcname': string
|
||||
/**怪物皮肤*/
|
||||
'skin': number[]
|
||||
}>;
|
||||
|
||||
type gc_openCond = k_v<{
|
||||
@ -1797,6 +1811,29 @@ 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]: {
|
||||
suipian: number
|
||||
buff: { [k: string]: number }
|
||||
need: { a: string, t: string, n: number }[];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type gcType = {
|
||||
[key: string]: any
|
||||
armyattr: gc_armyattr
|
||||
@ -1946,7 +1983,9 @@ type gcType = {
|
||||
kfcb_prize: gc_kfcb_prize
|
||||
yuyuemail: gc_yuyuemail
|
||||
tuisonglibao: gc_push_gift
|
||||
|
||||
renown_level: gc_renown_level
|
||||
heroSkin: gc_hero_skin
|
||||
heroSkinLv: gc_hero_skin_lv
|
||||
}
|
||||
|
||||
|
||||
@ -1957,4 +1996,3 @@ declare global {
|
||||
export function initGcType() {
|
||||
|
||||
}
|
||||
|
21
src/lng.ts
21
src/lng.ts
@ -239,6 +239,9 @@ class Lng {
|
||||
hero_17 = "hero_17";
|
||||
hero_18 = "hero_18";
|
||||
hero_19 = "hero_19";
|
||||
hero_20 = "hero_20";
|
||||
hero_21 = "hero_21";
|
||||
hero_22 = "hero_22";
|
||||
|
||||
item_1 = "item_1";
|
||||
item_2 = "item_2";
|
||||
@ -347,12 +350,18 @@ class Lng {
|
||||
event_kfkh_12 = "event_kfkh_12";
|
||||
event_kfkh_13 = "event_kfkh_13";
|
||||
|
||||
qingxiandenglu: "qingxiandenglu";
|
||||
wuciwanjia: "wuciwanjia";
|
||||
huoqupaihang: "huoqupaihang";
|
||||
wucigonghui: "wucigonghui";
|
||||
nameyicunzai: "nameyicunzai";
|
||||
ljlibaotips_8:"ljlibaotips_8";
|
||||
qingxiandenglu = "qingxiandenglu";
|
||||
wuciwanjia = "wuciwanjia";
|
||||
huoqupaihang = "huoqupaihang";
|
||||
wucigonghui = "wucigonghui";
|
||||
nameyicunzai = "nameyicunzai";
|
||||
ljlibaotips_8 = "ljlibaotips_8";
|
||||
|
||||
weiwang_12 = "weiwang_12";
|
||||
|
||||
hqjgtips_27 = "hqjgtips_27";
|
||||
hqjgtips_28 = "hqjgtips_28";
|
||||
hqjgtips_29 = "hqjgtips_29";
|
||||
|
||||
"11111" = "globalThis.lng.chat_1"
|
||||
// return call.error('', { code: -3, message: globalThis.lng.chat_2 });
|
||||
|
@ -23,7 +23,7 @@ export default {
|
||||
/**cross mongodb url */
|
||||
crossMongodbUrl: 'mongodb://root:lyMaple525458@10.0.1.20:27017/heijiao_cross?authSource=admin',
|
||||
/**运营平台接口地址 */
|
||||
baseUrl: 'https://blacklagoon-slb.stg.g123-cpp.com',
|
||||
baseUrl: 'blacklagoon-slb.pro.g123-cpp.com',
|
||||
/**服务器时间 */
|
||||
time: '',
|
||||
/**开服时间 */
|
||||
|
@ -24,6 +24,7 @@ import {ResOpen as ResOpenZhoumolibao} from '../shared/protocols/event/zhoumolib
|
||||
import {ResOpen as ResOpenPobinglibao} from '../shared/protocols/event/pobinglibao/PtlOpen';
|
||||
import {ResOpen as ResOpenLeiChongLiBao} from '../shared/protocols/event/leichonglibao/PtlOpen';
|
||||
import {event as ResOpenYuandan} from '../shared/protocols/event/yuandan/PtlOpen';
|
||||
import {PlayerData} from "../api_s2c/event/huangqijiuguan/fun";
|
||||
|
||||
export type eventType = {
|
||||
shouchong: {
|
||||
@ -74,6 +75,7 @@ export type eventType = {
|
||||
[k: `leichonglibao${number}`]: ResOpenLeiChongLiBao & { opentime: number };
|
||||
[k: `yuandan${number}`]: ResOpenYuandan;
|
||||
[k: `pobinglibao${number}`]: ResOpenPobinglibao;
|
||||
[k: `huangqijiuguan_${number}`]: PlayerData;
|
||||
};
|
||||
|
||||
export type CollectionEvent<T extends keyof eventType> = {
|
||||
|
9
src/module/collection_weiwang.ts
Normal file
9
src/module/collection_weiwang.ts
Normal file
@ -0,0 +1,9 @@
|
||||
export type CollectionWeiwang = {
|
||||
uid: string;
|
||||
|
||||
hp: number;
|
||||
atk: number;
|
||||
def: number;
|
||||
|
||||
buff: k_v<number>;
|
||||
}
|
@ -1,25 +1,25 @@
|
||||
import {ResSyncBtn} from '../shared/protocols/PtlSyncBtn';
|
||||
import {payLog} from '../shared/protocols/pay/PtlGetList';
|
||||
import {rankType} from '../shared/protocols/rank/PtlOpen';
|
||||
import {CollectionChatLog} from './collection_chatlog';
|
||||
import {CollectionActionLog} from './collection_actionLog';
|
||||
import {CollectionCardlog} from './collection_cardlog';
|
||||
import {CollectionCllsCrossGroup, CollectionCllsCrossUser} from './collection_clsl';
|
||||
import {CollectionCrosskv} from './collection_crosskv';
|
||||
import {CollectionDayPay} from './collection_dayPay';
|
||||
import {CollectionDxlt} from './collection_dxlt';
|
||||
import {CollectionEmail} from './collection_email';
|
||||
import {CollectionEquip} from './collection_equip';
|
||||
import {CollectionEvent} from './collection_event';
|
||||
import {CollectionFriend} from './collection_friend';
|
||||
import {CollectionGanHai} from './collection_ganhai';
|
||||
import {CollectionGBTX} from './collection_gbtx';
|
||||
import {CollectionGongHui, CollectionGongHuiFb, CollectionGongHuiUser} from './collection_gonghui';
|
||||
import {CollectionHbzbUserCross, CollectionHbzbUserZbs} from './collection_hbzb_user_cross';
|
||||
import {CollectionHero} from './collection_hero';
|
||||
import {CollectionItem} from './collection_item';
|
||||
import {CollectionJJC} from './collection_jjc';
|
||||
import {CollectionApiWeiXiuChang} from './collection_weixiuchang';
|
||||
import { ResSyncBtn } from '../shared/protocols/PtlSyncBtn';
|
||||
import { payLog } from '../shared/protocols/pay/PtlGetList';
|
||||
import { rankType } from '../shared/protocols/rank/PtlOpen';
|
||||
import { CollectionChatLog } from './collection_chatlog';
|
||||
import { CollectionActionLog } from './collection_actionLog';
|
||||
import { CollectionCardlog } from './collection_cardlog';
|
||||
import { CollectionCllsCrossGroup, CollectionCllsCrossUser } from './collection_clsl';
|
||||
import { CollectionCrosskv } from './collection_crosskv';
|
||||
import { CollectionDayPay } from './collection_dayPay';
|
||||
import { CollectionDxlt } from './collection_dxlt';
|
||||
import { CollectionEmail } from './collection_email';
|
||||
import { CollectionEquip } from './collection_equip';
|
||||
import { CollectionEvent } from './collection_event';
|
||||
import { CollectionFriend } from './collection_friend';
|
||||
import { CollectionGanHai } from './collection_ganhai';
|
||||
import { CollectionGBTX } from './collection_gbtx';
|
||||
import { CollectionGongHui, CollectionGongHuiFb, CollectionGongHuiUser } from './collection_gonghui';
|
||||
import { CollectionHbzbUserCross, CollectionHbzbUserZbs } from './collection_hbzb_user_cross';
|
||||
import { CollectionHero } from './collection_hero';
|
||||
import { CollectionItem } from './collection_item';
|
||||
import { CollectionJJC } from './collection_jjc';
|
||||
import { CollectionApiWeiXiuChang } from './collection_weixiuchang';
|
||||
|
||||
import {
|
||||
CollectionKbzzApplyUser,
|
||||
@ -60,6 +60,7 @@ import {CollectionRmbuse} from "./collection_rmbuse";
|
||||
import {CollectionFightLog} from "./collection_fightLog";
|
||||
import {CollectionShop} from "./collection_shop";
|
||||
import {CollectionPushGift} from "./collection_pushgift";
|
||||
import { CollectionWeiwang } from './collection_weiwang';
|
||||
|
||||
export type MongodbCollections = {
|
||||
user: CollectionUser;
|
||||
@ -133,7 +134,8 @@ export type MongodbCollections = {
|
||||
rmbuse: CollectionRmbuse
|
||||
fightLog: CollectionFightLog
|
||||
shop: CollectionShop
|
||||
pushgift:CollectionPushGift
|
||||
pushgift: CollectionPushGift
|
||||
|
||||
huodong_user: CollectionUser;
|
||||
weiwang: CollectionWeiwang;
|
||||
};
|
@ -2637,6 +2637,34 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"name": "weiwangbuff",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"indexSignature": {
|
||||
"keyType": "String",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"name": "heroskin",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"indexSignature": {
|
||||
"keyType": "String",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"optional": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -11,7 +11,7 @@ import { re, string } from "mathjs";
|
||||
import { getGud } from './gud';
|
||||
import { PushGiftFun } from "./pushgift";
|
||||
|
||||
type fightType = 'tanxian' | 'pata' | 'jjc' | 'gbtx' | 'qjzzd' | 'meirishilian' | 'wzrycross';
|
||||
type fightType = 'tanxian' | 'pata' | 'jjc' | 'gbtx' | 'qjzzd' | 'meirishilian' | 'wzrycross' | 'hqjg';
|
||||
|
||||
|
||||
let fights: { [key: string]: FightControl } = {
|
||||
@ -105,8 +105,15 @@ export class FightFun {
|
||||
|
||||
/**挑战npc */
|
||||
static async fightNpc(call: ApiCall, npcId: string | number, type: fightType, data?: joinFightData) {
|
||||
let ext_buff = {};
|
||||
|
||||
let my = data || await call.conn.getDefaultFightData();
|
||||
if (["tanxian"].indexOf(type) != -1) {
|
||||
// 威望buff
|
||||
let weiwang = await G.mongodb.collection("weiwang").findOne({ uid: call.uid });
|
||||
ext_buff["weiwangbuff"] = weiwang?.buff ? weiwang.buff : { "atk": 0, "def": 0, "hp": 0 };
|
||||
}
|
||||
|
||||
let my = data || await call.conn.getDefaultFightData(undefined, ext_buff);
|
||||
|
||||
if (Object.keys(my.roles).length < 1) {
|
||||
throw new TsrpcError('至少需要上阵一个英雄');
|
||||
|
32
src/public/heroskin.ts
Normal file
32
src/public/heroskin.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { call } from "../public/player";
|
||||
import { PlayerFun } from "../public/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 });
|
||||
}
|
||||
}
|
@ -21,6 +21,7 @@ import { PushGiftFun } from "./pushgift";
|
||||
import { ActionLog } from './actionLog/actionLog';
|
||||
import { roleDataType } from '../shared/fightControl/fightType';
|
||||
import { PlayerShared } from '../shared/public/player';
|
||||
import HeroSkinFun from './heroskin';
|
||||
|
||||
|
||||
export type call = {
|
||||
@ -45,8 +46,8 @@ export type call = {
|
||||
export class PlayerFun {
|
||||
/**
|
||||
* 通过uid获取战斗数据
|
||||
* @param uid
|
||||
* @returns
|
||||
* @param uid
|
||||
* @returns
|
||||
*/
|
||||
static async getDefaultFightDataByUid(uid: string) {
|
||||
let gud = await getGud(uid);
|
||||
@ -164,7 +165,7 @@ export class PlayerFun {
|
||||
/**
|
||||
* 发送奖励
|
||||
*/
|
||||
static async sendPrize(call: call, prizeList: atn[]) {
|
||||
static async sendPrize(call: call, prizeList: atn[], pushToClient=false) {
|
||||
prizeList = PublicShared.mergePrize(prizeList);
|
||||
|
||||
let attr = prizeList.filter(atn => atn.a == 'attr' && atn.n != 0);
|
||||
@ -173,6 +174,7 @@ export class PlayerFun {
|
||||
let equip = prizeList.filter(atn => atn.a == 'equip' && 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 heroskin = prizeList.filter(atn => atn.a == 'heroskin' && atn.n != 0);
|
||||
|
||||
// 记录获得
|
||||
addGameLog(call.uid, call.service.name, call.req, { prize: prizeList })
|
||||
@ -182,9 +184,18 @@ export class PlayerFun {
|
||||
hero.length > 0 && this.addHero(call, hero),
|
||||
equip.length > 0 && this.addEquip(call, equip),
|
||||
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),
|
||||
]);
|
||||
|
||||
if(pushToClient){
|
||||
G.server.sendMsgByUid(call.uid, 'msg_s2c/Collection', {
|
||||
fromApi: `PlayerFun_sendPrize`,
|
||||
msg: call.eventMsg
|
||||
});
|
||||
call.eventMsg = {};
|
||||
}
|
||||
|
||||
return prizeList;
|
||||
};
|
||||
|
||||
@ -633,6 +644,33 @@ export class PlayerFun {
|
||||
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 {
|
||||
for (let i = 0; i < p.n; i++) {
|
||||
prize = prize.concat(G.gc.heroSkin[p.t].zhuanhuan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.keys(upskin).length > 0) {
|
||||
await this.addAttr(call, { heroskin: Object.assign(heroskin, upskin) });
|
||||
}
|
||||
|
||||
// 皮肤存在转换为其他奖励
|
||||
if (prize.length > 0) {
|
||||
await this.sendPrize(call, prize);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除配件
|
||||
*/
|
||||
|
@ -26,7 +26,45 @@ export class SchedulerNewDayLocalCtor extends Scheduler {
|
||||
}
|
||||
|
||||
async start() {
|
||||
|
||||
|
||||
clusterRunOnce(async () => {
|
||||
//这个定时器会被每个进程都启动,这是这部分逻辑,应该只执行1次
|
||||
|
||||
//重置所有的ActionLog
|
||||
await ActionLog.initAllDayLog();
|
||||
|
||||
// 每周一,发放终身卡
|
||||
(async () => {
|
||||
if (PublicShared.getWeek(G.time) == 1) {
|
||||
let logs = await G.mongodb.collection("payLogNew").find(
|
||||
{ key: "zhongshenka", del_time: { $exists: false } }, { projection: { _id: 0, } }
|
||||
).toArray();
|
||||
|
||||
if (logs.length == 0) {
|
||||
console.log("没有终身卡数据,不发放终身卡");
|
||||
}
|
||||
let con = G.gc.payEmail.zhongshenka.filter(e => e.day == 7)[0];
|
||||
for (let i = 0; i < logs.length; i++) {
|
||||
console.log("发放终身卡", logs[i].uid);
|
||||
// 发送邮件
|
||||
EmailFun.addEmail({
|
||||
uid: logs[i].uid,
|
||||
type: "system",
|
||||
title: con.title,
|
||||
content: con.content,
|
||||
contentInsertArr: [],
|
||||
createTime: G.time,
|
||||
prize: con.prize,
|
||||
})
|
||||
}
|
||||
}
|
||||
})()
|
||||
|
||||
// 转点刷新事件
|
||||
G.emit('NEW_DAY', G.time);
|
||||
})
|
||||
|
||||
|
||||
clusterRunOnce(async ()=>{
|
||||
//这个定时器会被每个进程都启动,这是这部分逻辑,应该只执行1次
|
||||
|
||||
@ -39,7 +77,7 @@ export class SchedulerNewDayLocalCtor extends Scheduler {
|
||||
let logs = await G.mongodb.collection("payLogNew").find(
|
||||
{ key: "zhongshenka", del_time: { $exists: false } }, { projection: { _id: 0, } }
|
||||
).toArray();
|
||||
|
||||
|
||||
if (logs.length == 0) {
|
||||
console.log("没有终身卡数据,不发放终身卡");
|
||||
}
|
||||
@ -56,7 +94,7 @@ export class SchedulerNewDayLocalCtor extends Scheduler {
|
||||
createTime: G.time,
|
||||
prize:con.prize,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
})
|
||||
|
@ -4,7 +4,6 @@ import { taskType } from "../shared/protocols/task/type";
|
||||
import { PublicShared } from "../shared/public/public";
|
||||
import { PeijianFun } from "./peijian";
|
||||
import { manager } from "./taskclass";
|
||||
import ApiRecTask from "../api_s2c/event/zhanling/ApiRecTask";
|
||||
|
||||
let taskDict = {};
|
||||
const SHUJUKU = "task";
|
||||
|
@ -1,19 +1,20 @@
|
||||
import {ApiCall} from "tsrpc"
|
||||
import {YangChengMuBiaofun} from "../api_s2c/event/yangchengmubiao/fun"
|
||||
import {Christmasfun} from "../api_s2c/event/christmas/fun"
|
||||
import { ApiCall } from "tsrpc"
|
||||
import { YangChengMuBiaofun } from "../api_s2c/event/yangchengmubiao/fun"
|
||||
import { Christmasfun } from "../api_s2c/event/christmas/fun"
|
||||
// import { YangChengMuBiaofun } from "../api_s2c/event/yangchengmubiao/fun"
|
||||
import {Wjjl} from "../module/collection_wjjl"
|
||||
import {PublicShared} from "../shared/public/public"
|
||||
import {PayFun} from "./pay"
|
||||
import {TaskFun} from "./task"
|
||||
import {CollectionWanted} from "../module/collection_wanted";
|
||||
import {TanXianFun} from "./tanxian";
|
||||
import {PataFun} from "./pata";
|
||||
import {weixiuchangType} from "../shared/protocols/weixiuchang/type";
|
||||
import {FunWeiXiuChang} from "./weixiuchang";
|
||||
import {JJCFun} from "./jjc";
|
||||
import {getGud} from "./gud";
|
||||
import {Yuandanfun} from "../api_s2c/event/yuandan/fun";
|
||||
import { Wjjl } from "../module/collection_wjjl"
|
||||
import { PublicShared } from "../shared/public/public"
|
||||
import { PayFun } from "./pay"
|
||||
import { TaskFun } from "./task"
|
||||
import { CollectionWanted } from "../module/collection_wanted";
|
||||
import { TanXianFun } from "./tanxian";
|
||||
import { PataFun } from "./pata";
|
||||
import { weixiuchangType } from "../shared/protocols/weixiuchang/type";
|
||||
import { FunWeiXiuChang } from "./weixiuchang";
|
||||
import { JJCFun } from "./jjc";
|
||||
import { getGud } from "./gud";
|
||||
import { Yuandanfun } from "../api_s2c/event/yuandan/fun";
|
||||
import HQJGFun from "../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
let _classNameFunc = {}
|
||||
/**
|
||||
@ -72,13 +73,15 @@ export module manager {
|
||||
|
||||
// 设置数据
|
||||
async setVal(call: ApiCall, val: number, chkval, arg) {
|
||||
TaskFun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
TaskFun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg);
|
||||
// 养成目标任务计数
|
||||
YangChengMuBiaofun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
YangChengMuBiaofun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg);
|
||||
// 圣诞活动任务计数
|
||||
Christmasfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
Christmasfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg);
|
||||
// 元旦活动任务计数
|
||||
Yuandanfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
Yuandanfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg);
|
||||
// 黄旗酒馆
|
||||
HQJGFun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg);
|
||||
}
|
||||
|
||||
// 任务数值, 和检测值,看情况需要上层复写
|
||||
@ -167,12 +170,12 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
return await G.mongodb.collection('hero').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
return await G.mongodb.collection('hero').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
}
|
||||
|
||||
async alchangeVal(call: ApiCall, con, val: number) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
return await G.mongodb.collection('hero').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
return await G.mongodb.collection('hero').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -194,13 +197,13 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
let _num = await G.mongodb.collection('hero').countDocuments({uid: call.uid, jieji: {$gte: _chk}}) || 0
|
||||
let _num = await G.mongodb.collection('hero').countDocuments({ uid: call.uid, jieji: { $gte: _chk } }) || 0
|
||||
return _num
|
||||
}
|
||||
|
||||
async alchangeVal(call: ApiCall, con, val: number) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
let _num = await G.mongodb.collection('hero').countDocuments({uid: call.uid, jieji: {$gte: _chk}}) || 0
|
||||
let _num = await G.mongodb.collection('hero').countDocuments({ uid: call.uid, jieji: { $gte: _chk } }) || 0
|
||||
return _num
|
||||
}
|
||||
}
|
||||
@ -256,13 +259,13 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
let _num = await G.mongodb.collection('equip').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
let _num = await G.mongodb.collection('equip').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
return _num
|
||||
}
|
||||
|
||||
async alchangeVal(call: ApiCall, con, val: number) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
let _num = await G.mongodb.collection('equip').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
let _num = await G.mongodb.collection('equip').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
return _num
|
||||
}
|
||||
}
|
||||
@ -426,7 +429,7 @@ export module manager {
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let myData = await G.mongodb.cPlayerInfo('meirishilian').findOne({uid: call.uid, type: 'meirishilian'});
|
||||
let myData = await G.mongodb.cPlayerInfo('meirishilian').findOne({ uid: call.uid, type: 'meirishilian' });
|
||||
if (myData.data.refreshTime > PublicShared.getToDayZeroTime()) {
|
||||
return R.compose(R.sum(), R.map(i => i[0].useFightNum), R.values())(myData.data.numInfo) || 0
|
||||
}
|
||||
@ -446,7 +449,7 @@ export module manager {
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let myData = await G.mongodb.cPlayerInfo('qjzzd').findOne({uid: call.uid, type: 'qjzzd'});
|
||||
let myData = await G.mongodb.cPlayerInfo('qjzzd').findOne({ uid: call.uid, type: 'qjzzd' });
|
||||
if (myData?.refreFightTime > PublicShared.getToDayZeroTime()) {
|
||||
return myData?.useFightNum || 0
|
||||
}
|
||||
@ -505,7 +508,7 @@ export module manager {
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let data: Partial<CollectionWanted> = await G.mongodb.collection('wanted').findOne({uid: call.uid}) || {};
|
||||
let data: Partial<CollectionWanted> = await G.mongodb.collection('wanted').findOne({ uid: call.uid }) || {};
|
||||
if (data.refreshTime > PublicShared.getToDayZeroTime()) {
|
||||
return data.toDayUseNum || 0
|
||||
}
|
||||
@ -608,12 +611,12 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
return await G.mongodb.collection('peijian').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
return await G.mongodb.collection('peijian').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
}
|
||||
|
||||
async alchangeVal(call: ApiCall, con, val: number) {
|
||||
let _chk = parseInt(con.cond[0])
|
||||
return await G.mongodb.collection('peijian').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||||
return await G.mongodb.collection('peijian').countDocuments({ uid: call.uid, lv: { $gte: _chk } }) || 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -675,11 +678,11 @@ export module manager {
|
||||
isinc = 0
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return await G.mongodb.collection('equip').countDocuments({uid: call.uid, wearaId: {$ne: ""}}) || 0
|
||||
return await G.mongodb.collection('equip').countDocuments({ uid: call.uid, wearaId: { $ne: "" } }) || 0
|
||||
}
|
||||
|
||||
async alchangeVal(call: ApiCall, con, val: number) {
|
||||
return await G.mongodb.collection('equip').countDocuments({uid: call.uid, wearaId: {$ne: ""}}) || 0
|
||||
return await G.mongodb.collection('equip').countDocuments({ uid: call.uid, wearaId: { $ne: "" } }) || 0
|
||||
}
|
||||
|
||||
}
|
||||
@ -810,7 +813,7 @@ export module manager {
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// 第59个任务 获得vip经验
|
||||
@ -833,6 +836,11 @@ export module manager {
|
||||
}
|
||||
}
|
||||
|
||||
// 第61个任务 黄旗酒馆累计抽卡X次
|
||||
export class Class_task_159 extends BaseClass {
|
||||
stype = 159
|
||||
isinc = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -121,7 +121,7 @@ export function createNpc(npcId: string | number, fixData: Partial<ResLogin['gud
|
||||
isNpc: true
|
||||
},
|
||||
roles: Object.fromEntries(dataArr.map((d, i) => [i + 1, function () {
|
||||
|
||||
d['skin'] = (npcConf.skin?.[i] || '');
|
||||
let { id, atk, def, mindps, maxdps, hp, speed, ...ops } = G.gc.armyattr[d.countId];
|
||||
let buff = HeroShared.getHeroBasicAttr({ heroId: d.heroId, lv: d.lv });
|
||||
|
||||
@ -149,9 +149,9 @@ export function createNpc(npcId: string | number, fixData: Partial<ResLogin['gud
|
||||
return {
|
||||
attr: buff,
|
||||
...d,
|
||||
lv: (npcConf.npcLv ? npcConf.npcLv[i]: 0) || d.lv,
|
||||
lv: (npcConf.npcLv ? npcConf.npcLv[i] : 0) || d.lv,
|
||||
isBoss: !!npcConf.isboss,
|
||||
trueLv: d.lv || (npcConf.npcLv ? npcConf.npcLv[i]: 0)
|
||||
trueLv: d.lv || (npcConf.npcLv ? npcConf.npcLv[i] : 0)
|
||||
};
|
||||
|
||||
}()]))
|
||||
|
11
src/shared/protocols/event/huangqijiuguan/PtlDuiHuan.ts
Normal file
11
src/shared/protocols/event/huangqijiuguan/PtlDuiHuan.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqDuiHuan {
|
||||
hdid: number
|
||||
dh: { [id: number]: number }
|
||||
}
|
||||
|
||||
export interface ResDuiHuan {
|
||||
data: PlayerData
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
11
src/shared/protocols/event/huangqijiuguan/PtlFight.ts
Normal file
11
src/shared/protocols/event/huangqijiuguan/PtlFight.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun";
|
||||
import { fightResult } from "../../../fightControl/fightType";
|
||||
|
||||
export interface ReqFight {
|
||||
hdid: number
|
||||
}
|
||||
|
||||
export interface ResFight {
|
||||
data: PlayerData
|
||||
result: fightResult;
|
||||
}
|
11
src/shared/protocols/event/huangqijiuguan/PtlGiftRec.ts
Normal file
11
src/shared/protocols/event/huangqijiuguan/PtlGiftRec.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqGiftRec {
|
||||
hdid: number
|
||||
giftid: number
|
||||
}
|
||||
|
||||
export interface ResGiftRec {
|
||||
data: PlayerData
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
11
src/shared/protocols/event/huangqijiuguan/PtlGiftSelect.ts
Normal file
11
src/shared/protocols/event/huangqijiuguan/PtlGiftSelect.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqGiftSelect {
|
||||
hdid: number
|
||||
giftid: number
|
||||
seletc: number[]
|
||||
}
|
||||
|
||||
export interface ResGiftSelect {
|
||||
data: PlayerData
|
||||
}
|
9
src/shared/protocols/event/huangqijiuguan/PtlOpen.ts
Normal file
9
src/shared/protocols/event/huangqijiuguan/PtlOpen.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqOpen {
|
||||
hdid: number
|
||||
}
|
||||
|
||||
export interface ResOpen {
|
||||
data: PlayerData
|
||||
}
|
7
src/shared/protocols/event/huangqijiuguan/PtlRankList.ts
Normal file
7
src/shared/protocols/event/huangqijiuguan/PtlRankList.ts
Normal file
@ -0,0 +1,7 @@
|
||||
export interface ReqRankList {
|
||||
hdid: number
|
||||
}
|
||||
|
||||
export interface ResRankList {
|
||||
rankList: any[]
|
||||
}
|
11
src/shared/protocols/event/huangqijiuguan/PtlRecDpsPrize.ts
Normal file
11
src/shared/protocols/event/huangqijiuguan/PtlRecDpsPrize.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqRecDpsPrize {
|
||||
hdid: number
|
||||
recid: number[]
|
||||
}
|
||||
|
||||
export interface ResRecDpsPrize {
|
||||
data: PlayerData,
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
13
src/shared/protocols/event/huangqijiuguan/PtlTaskRec.ts
Normal file
13
src/shared/protocols/event/huangqijiuguan/PtlTaskRec.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqTaskRec {
|
||||
day: number
|
||||
hdid: number
|
||||
taskid: number[]
|
||||
}
|
||||
|
||||
export interface ResTaskRec {
|
||||
data: PlayerData
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
||||
|
12
src/shared/protocols/event/huangqijiuguan/PtlZhaoMu.ts
Normal file
12
src/shared/protocols/event/huangqijiuguan/PtlZhaoMu.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
|
||||
export interface ReqZhaoMu {
|
||||
num: number
|
||||
hdid: number
|
||||
}
|
||||
|
||||
export interface ResZhaoMu {
|
||||
data: PlayerData
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
import { PlayerData } from "../../../../api_s2c/event/huangqijiuguan/fun"
|
||||
|
||||
export interface ReqZhaoMuPrizeRec {
|
||||
hdid: number
|
||||
recid: { idx: number, sec: string }[]
|
||||
}
|
||||
|
||||
export interface ResZhaoMuPrizeRec {
|
||||
data: PlayerData
|
||||
prize: { a: string, t: string, n: number }[]
|
||||
}
|
@ -71,4 +71,6 @@ type heroAddKey = {
|
||||
peijian: {
|
||||
[pos: string]: string;
|
||||
};
|
||||
/**皮肤*/
|
||||
skin: string | number;
|
||||
};
|
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,11 @@ export type playerAppend = {
|
||||
chatFrames?: {
|
||||
[id: string]: number;
|
||||
};
|
||||
/**威望额外属性*/
|
||||
weiwangbuff?: { [k: string]: number };
|
||||
|
||||
/**获得的皮肤*/
|
||||
heroskin?: {
|
||||
[skid: string]: number;
|
||||
}
|
||||
};
|
11
src/shared/protocols/weiwang/PtlOpen.ts
Normal file
11
src/shared/protocols/weiwang/PtlOpen.ts
Normal file
@ -0,0 +1,11 @@
|
||||
export interface ReqOpen {
|
||||
|
||||
}
|
||||
|
||||
export interface ResOpen {
|
||||
lv: {
|
||||
hp: number
|
||||
atk: number
|
||||
def: number
|
||||
}
|
||||
}
|
12
src/shared/protocols/weiwang/PtlUpLv.ts
Normal file
12
src/shared/protocols/weiwang/PtlUpLv.ts
Normal file
@ -0,0 +1,12 @@
|
||||
export interface ReqUpLv {
|
||||
lv: number
|
||||
type: "hp" | "atk" | "def"
|
||||
}
|
||||
|
||||
export interface ResUpLv {
|
||||
lv: {
|
||||
hp: number
|
||||
atk: number
|
||||
def: number
|
||||
}
|
||||
}
|
@ -1,10 +1,11 @@
|
||||
import {ResGetList} from '../protocols/hero/PtlGetList';
|
||||
import {player} from '../protocols/user/type';
|
||||
import {EquipShared} from './equip';
|
||||
import {PeijianShared} from './peijian';
|
||||
import {PlayerShared} from './player';
|
||||
import {PublicShared} from './public';
|
||||
import {ShiwuShared} from './shiwu';
|
||||
import { ResGetList } from '../protocols/hero/PtlGetList';
|
||||
import { player } from '../protocols/user/type';
|
||||
import { EquipShared } from './equip';
|
||||
import HeroSkinShared from './heroskin';
|
||||
import { PeijianShared } from './peijian';
|
||||
import { PlayerShared } from './player';
|
||||
import { PublicShared } from './public';
|
||||
import { ShiwuShared } from './shiwu';
|
||||
|
||||
export type otherBuff = Partial<player & {
|
||||
allBuff: k_v<number>;
|
||||
@ -31,7 +32,7 @@ export class HeroShared {
|
||||
*/
|
||||
static getHeroBasicAttr(hero: heroDataType, otherBuff: otherBuff = G.otherBuff, pos = 0) {
|
||||
let jiban = 0;
|
||||
let buff: k_v<any> = {skillArr: []};
|
||||
let buff: k_v<any> = { skillArr: [] };
|
||||
let heroConf = G.gc.hero[hero.heroId];
|
||||
let heroLv = G.gc.herolv[heroConf.lvup];
|
||||
let heroGrow = G.gc.herogrow[heroConf.jjup]?.[hero.jieji];
|
||||
@ -40,7 +41,7 @@ export class HeroShared {
|
||||
for (let k in heroLv.buff) {
|
||||
let val = heroLv.buff[k];
|
||||
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}`)());
|
||||
}
|
||||
|
||||
@ -135,7 +136,7 @@ export class HeroShared {
|
||||
PublicShared.mergeProperty(buff, PeijianShared.getAttr(p));
|
||||
let conf = G.gc.peijian[p.peijianId];
|
||||
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++;
|
||||
if (!suitObj[conf.suit].minLv || p.lv < suitObj[conf.suit].minLv) suitObj[conf.suit].minLv = p.lv;
|
||||
}
|
||||
@ -273,11 +274,27 @@ export class HeroShared {
|
||||
if (otherBuff?.skills) {
|
||||
for (let [id, lv] of Object.entries(otherBuff.skills)) {
|
||||
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 })])));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 威望加成计算
|
||||
if (otherBuff?.weiwangbuff) {
|
||||
PublicShared.mergeProperty(buff, otherBuff?.weiwangbuff || {});
|
||||
}
|
||||
|
||||
// 计算皮肤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, HeroSkinShared.calcBuff(
|
||||
skinId, otherBuff.heroskin[skinId]
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
//最后进行加成属性计算
|
||||
for (let k in buff) {
|
||||
if (k.indexOf('pro') == -1) continue;
|
||||
@ -368,8 +385,8 @@ export class HeroShared {
|
||||
static getHeroLvUpNeed(id: string | number, lv = 1): atn[] {
|
||||
|
||||
return [
|
||||
{a: 'item', t: '1', n: G.gc.herolvup[lv].expneed},
|
||||
{a: 'attr', t: 'jinbi', n: G.gc.herolvup[lv].jinbineed}
|
||||
{ a: 'item', t: '1', n: G.gc.herolvup[lv].expneed },
|
||||
{ a: 'attr', t: 'jinbi', n: G.gc.herolvup[lv].jinbineed }
|
||||
];
|
||||
}
|
||||
|
||||
|
21
src/shared/public/heroskin.ts
Normal file
21
src/shared/public/heroskin.ts
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
export default class HeroSkinShared {
|
||||
|
||||
|
||||
/**
|
||||
* 计算皮肤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;
|
||||
}
|
||||
}
|
@ -124,6 +124,7 @@ export class PublicShared {
|
||||
else if (atn.a == 'item') return G.gc.item[atn.t];
|
||||
else if (atn.a == 'hero') return G.gc.hero[atn.t];
|
||||
else if (atn.a == 'equip') return G.gc.equip[atn.t];
|
||||
else if (atn.a == 'heroskin') return G.gc.heroSkin[atn.t];
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ export class UserShared {
|
||||
* 判断头像之类是否激活
|
||||
* @param id 请使用 UserShared.getInfo 转化后的id
|
||||
*/
|
||||
static chechIsActive(fmtId: string, collection: Partial<{ lv: number, vip: number, lsyx: k_v<number>, model: k_v<any>, active: k_v<number>; }>) {
|
||||
static chechIsActive(fmtId: string, collection: Partial<{ lv: number, vip: number, lsyx: k_v<number>, model: k_v<any>, active: k_v<number>, heroskin: k_v<any>; }>) {
|
||||
|
||||
const [type, id] = fmtId.split('_');
|
||||
const jsonName = 'player' + type.slice(0, 1).toLocaleUpperCase() + type.slice(1);
|
||||
@ -37,6 +37,7 @@ export class UserShared {
|
||||
// else if (conf.cond[0] == 'time') return collection.active[fmtId] == -1 || collection.active[fmtId] > G.time;
|
||||
else if (conf.cond[0] == 'time') return conf.cond[1] == -1 || collection.active?.[fmtId] > G.time;
|
||||
else if (conf.cond[0] == 'model') return Object.values(collection.model).find(i => i.id == conf.cond[1]);
|
||||
else if (conf.cond[0] == 'heroskin') return conf.cond[1] in collection.heroskin;
|
||||
else return false;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user