寻宝助战匹配简单机器人

This commit is contained in:
liangtongchuan
2020-11-27 23:27:35 +08:00
parent 369c831846
commit 3e499de1bc
8 changed files with 159 additions and 23 deletions

View File

@@ -5,7 +5,7 @@ import { HANG_UP_CONSTS, TOWER_TASK_CONST, REDIS_KEY } from './../consts/consts'
import { BattleRecordModel } from './../db/BattleRecord';
import { TowerRecordModel } from './../db/TowerRecord';
import { RoleModel } from './../db/Role';
import { getHeroInfoById, getJobInfoById, getTowerDataByLv, getTaskById, getGamedata } from "../pubUtils/gamedata"
import { getHeroInfoById, getJobInfoById, getTowerDataByLv, getTaskById, getGamedata, getRandExpedition, getWarById, getWarJsons } from "../pubUtils/gamedata"
import { decodeArrayStr, shouldRefresh, resResult, decodeStr, cal, getRandomWithWeight, getRefTime, decodeStrSingle, genCode } from '../pubUtils/util';
import { handleFixedReward } from './rewardService';
import { STATUS } from '../consts/statusCode';
@@ -347,4 +347,30 @@ export async function getTasksReward(roleId: string, curTime: Date) {
}
}
return goods
}
/**
* 获取随机机器人数据
* @param cnt 机器人数量
* @param withAttr 是否返回属性false: 仅返回阵容
*/
export function getRandRobot(cnt = 1, withAttr = false) {
let setInfo = getRandExpedition(cnt);
if (!setInfo || setInfo.length !== cnt) return null;
let robots = [];
for (let info of setInfo) {
if (!info || !info.warId) continue;
const warInfo = getWarJsons(info.warId).json;
if (!warInfo || !warInfo.length) continue;
let heroes = [];
for(let hero of warInfo) {
if (hero && hero.relation === 2 && hero.actorId) {
heroes.push(hero.actorId);
}
}
robots.push(heroes);
}
return robots;
}