diff --git a/shared/pubUtils/dictionary/DicArmyTrainJuDian.ts b/shared/pubUtils/dictionary/DicArmyTrainJuDian.ts index de70a48ab..cfdb30b13 100644 --- a/shared/pubUtils/dictionary/DicArmyTrainJuDian.ts +++ b/shared/pubUtils/dictionary/DicArmyTrainJuDian.ts @@ -1,4 +1,4 @@ -import { readFileAndParse, parseGoodStr } from '../util' +import { readFileAndParse, parseGoodStr, parseNumberList } from '../util' import { FILENAME } from '../../consts' type KeysEnum = { [P in keyof Required]: true }; import { RewardInter } from '../interface'; @@ -34,11 +34,18 @@ export function loadArmyTrainJuDian() { let arr = readFileAndParse(FILENAME.DIC_ARMY_TRAIN_JU_DIAN); arr.forEach(o => { - o.trainInstances = o.gkid.split('|').map(element => { let arr = element.split('&'); + if(isNaN(parseInt(arr[0])) || isNaN(parseInt(arr[1])) || isNaN(parseInt(arr[2]))) { + throw new Error(`${o.id} ${element}`) + } return {hid: parseInt(arr[0]), gkId: parseInt(arr[1]), progress: parseInt(arr[2])}; }); + + let heroid = parseNumberList(o.heroid); + o.trainInstances.forEach(instance => { + if(heroid.indexOf(instance.hid) == -1) throw new Error(`${o.id} ${instance.hid}`) + }) o.jinjieReward = parseGoodStr(o.jinjieReward); dicArmyTrainJuDian.set(o.id,_.pick(o, Object.keys(DicArmyTrainJuDianKeys))); diff --git a/shared/resource/jsons/dic_army_trainJuDian.json b/shared/resource/jsons/dic_army_trainJuDian.json index 0de2b77ba..7aa4d6e1d 100644 --- a/shared/resource/jsons/dic_army_trainJuDian.json +++ b/shared/resource/jsons/dic_army_trainJuDian.json @@ -405,7 +405,7 @@ "name": "试炼1-封龙出山", "count": 4, "heroid": "53&50&54&44", - "gkid": "53161&200|50&162&200|54&163&200|44&164&200", + "gkid": "53&161&200|50&162&200|54&163&200|44&164&200", "soloRewardRatio": 1, "jinjieReward": "40005&1600|31002&300" },