寻宝:仅匹配特定等级区间;修复机器人武将不阵亡 bug
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) || [];
|
||||
|
||||
Reference in New Issue
Block a user