Files
chuanqi-client-config/tools/batchSetting.js
kubbo b0591ef625 refactor(config): 调整合成系统材料消耗
- 修改了多个物品的合成条件,将材料消耗量增加了10倍
- 更新了批量设置模板,相应调整了材料消耗参数
2025-01-27 22:39:20 +08:00

147 lines
3.8 KiB
JavaScript

const fs = require("fs");
const ringType = 6;
const YBvoucher = {
'380': '100',
'388': '200',
'389': '500',
'390': '1000',
'391': '2000',
'392': '5000',
'393': '10000',
'394': '1',
'395': '5',
'396': '10',
'397': '15',
'398': '30',
'399': '50',
'400': '80'
}
const tpls = {
SpecialRing: {
key: "SpecialRing",
desc: "戒指种类,登记,伤害加倍,元宝花费",
values: [ringType, 51, 10, 10],
interval: [0, 1, 10, 10],
num: 150,
template: {
4: `"S2": {
"attr": [
{ "value": S3, "type": 75 },
{ "value": 428, "type": 76 },
{ "value": 536, "type": 77 },
{ "value": 55, "type": 21 },
{ "value": 55, "type": 23 },
{ "value": 55, "type": 25 },
{ "value": 55, "type": 27 },
{ "value": 5000, "type": 83 }
],
"lv": S2,
"cost": [
{ "id": 4, "type": 4, "count": S4 },
{ "id": 1018, "type": 0, "count": 1000 }
],
"pos": S1
}`,
5: `"S2": {
"attr": [
{ "value": S3, "type": 75 },
{ "value": 585, "type": 76 },
{ "value": 1115, "type": 77 },
{ "value": 70, "type": 21 },
{ "value": 70, "type": 23 },
{ "value": 70, "type": 25 },
{ "value": 70, "type": 27 },
{ "value": 3400, "type": 79 }
],
"lv": S2,
"cost": [
{ "id": 1022, "type": 0, "count": 1600 },
{ "id": 4, "type": 4, "count": S4 }
],
"pos": S1
}`,
6: `"S2": {
"attr": [
{ "value": 1000, "type": 5 },
{ "value": 100, "type": 76 },
{ "value": 100, "type": 77 },
{ "value": 2500, "type": 64 },
{ "value": S3, "type": 75 }
],
"lv": S2,
"cost": [
{ "id": 1037, "type": 0, "count": 180 },
{ "id": 4, "type": 4, "count": S4 }
],
"pos": S1
}`,
}[ringType],
},
ItemMergeConfig: {
key: "ItemMergeConfig",
desc: "ID1,ID2,代金券ID,元宝数",
values: [7201, 7202,Object.keys(YBvoucher),Object.values(YBvoucher)],
interval: [2, 2],
num: Object.keys(YBvoucher).length,
template: `
"S1": {
"circle": 0,
"compose": { "id": 4, "type": 4, "count": S40 },
"index": 7,
"buttontxt10": "合成10次",
"mergebutton10": 1,
"text": "兑换",
"clicklimit": 1,
"Eid": S1,
"second_index": 1,
"table": [{ "id": S3, "type": 0, "count": 1 }],
"openserverday": 1,
"level": 1
},
"S2": {
"circle": 0,
"compose": { "id": 4, "type": 4, "count": S4000 },
"index": 7,
"buttontxt10": "合成10次",
"mergebutton10": 1,
"text": "兑换",
"clicklimit": 1,
"Eid": S2,
"second_index": 1,
"table": [{ "id": S3, "type": 0, "count": 100 }],
"openserverday": 1,
"level": 1
}
`,
},
};
const scope = [
// "UpstarConfig",
"ItemMergeConfig",
].filter(Boolean);
const start = () => {
const configs = scope.map((key) => {
return tpls[key];
});
configs.forEach((file) => {
const { key, values, interval, num, template } = file;
const getStr = (index) => {
let str = template;
values.forEach((v, i) => {
const reg = new RegExp(`S${i + 1}`, "g");
if (Array.isArray(v)) {
str = str.replace(reg, v[index]);
} else str = str.replace(reg, v + index * interval[i]);
});
return str;
};
const content = Array(num)
.fill(1)
.map((e, i) => `${getStr(i)}`)
.join(",");
fs.writeFileSync(`./dist/${key}.txt`, content);
});
};
start();