寻宝:仅匹配特定等级区间;修复机器人武将不阵亡 bug

This commit is contained in:
liangtongchuan
2021-01-20 13:36:16 +08:00
parent 58b8d1c05d
commit d0cd3faab5
7 changed files with 104 additions and 38 deletions

View File

@@ -10,8 +10,8 @@ export interface DicXunbao {
readonly name: number;
// 协助次数
readonly assistanceTime: number;
// 最低协助等级
readonly assistanceLevel: number;
// ! 已删除。最低协助等级
// readonly assistanceLevel: number;
}
const str = readJsonFile(FILENAME.DIC_XUNBAO);

View File

@@ -1,6 +1,6 @@
import fs = require('fs');
import path = require('path');
import { ABI_TYPE, ABI_STAGE } from '../consts';
import { ABI_TYPE, ABI_STAGE, COM_BTL_LV_RANGE } from '../consts';
import { decodeIdCntArrayStr, getRandEelm } from './util';
import { IT_TYPE } from '../consts';
@@ -20,7 +20,7 @@ const heroSkillInfo = new Map<number, any>()
const seidInfo = new Map<number, any>();
const olySeidInfo = new Map<number, any>();
const expeditionInfo = new Map<number, any> ();
const comBtlInfo = new Map<number, {quality: number, name: string, assistanceTime: number, assistanceLevel: number}>();
const comBtlInfo = new Map<number, {quality: number, name: string, assistanceTime: number}>();
const btlBossHpSum = new Map<number, number>();
const btlBossHp = new Map<number, Array<{dataId: number, hp: number, actorId: number}>>();
const blueprtToWar = new Map<number, number>();
@@ -31,6 +31,7 @@ const fiendShips = new Map<string, any>();
const fashions = new Map<number, any>();
const fiendShipHidAandIds = new Map<number, {actorId: number, level:number}>();
const fiendShipLevelMaps = new Map<number, any>();
const comBtlLvRange = new Map<number, Array<number>>();
interface dicStar {
id: number;
@@ -241,6 +242,17 @@ function parseComBtlData() {
});
}
function parseComBtlLvRange() {
const lvRange = COM_BTL_LV_RANGE;
lvRange.forEach(range => {
const lvs = [];
for (let lv = range.minLv; lv <= range.maxLv; lv++) {
lvs.push(lv);
}
comBtlLvRange.set(range.id, lvs);
});
}
function parseGood() {
const file = 'dic_goods';
const data = gamedata['jsons'][file] || [];
@@ -402,6 +414,7 @@ function parseData() {
parseOlySeidList();
parseExpedition();
parseComBtlData();
parseComBtlLvRange();
parseGood();
parseBlueprtCompose();
parseFashions();
@@ -528,6 +541,22 @@ export function getComBtlSetByQuality(quality: number) {
return comBtlInfo.get(quality);
}
export function comBtlRangeInfo(range: number) {
return comBtlLvRange.get(range);
}
export function comBtlRangeByLv(lv: number) {
for (let [k, v] of comBtlLvRange) {
if (v.indexOf(lv) !== -1) {
return k;
}
}
}
export function comBtlRanges() {
return Array.from(comBtlLvRange.keys());
}
export function getBossHpByWarId(warId: number) {
let bossHpSum = btlBossHpSum.get(warId) || 0;
let bossHpArr = btlBossHp.get(warId) || [];