fix 修复刷新任务数量错误
This commit is contained in:
@@ -253,8 +253,7 @@ export async function checkTaskConditions(roleId: string, heroes: Array<number>,
|
||||
* @param roleName 玩家名
|
||||
* @param hideNum 隐藏的任务数量
|
||||
*/
|
||||
export async function createCurTasks(towerLv: number, batchCode: string, roleId: string, roleName: string, hideNum: number) {
|
||||
|
||||
export async function createCurTasks(towerLv: number, batchCode: string, roleId: string, roleName: string, hideNum: number, showNum: number, rids: Array<number>) {
|
||||
let randomList = [];
|
||||
let dicTask = getGamedata('dic_zyz_search');
|
||||
for(let task of dicTask) {
|
||||
@@ -266,18 +265,19 @@ export async function createCurTasks(towerLv: number, batchCode: string, roleId:
|
||||
}
|
||||
}
|
||||
let returnTasks = new Array();
|
||||
let showNum = TOWER_TASK_CONST.RAND_CNT - hideNum;
|
||||
const arr = [{refreshStatus: 0, num: hideNum}, {refreshStatus: 1, num: showNum}];
|
||||
for(let {refreshStatus, num} of arr) {
|
||||
let taskIds = [];
|
||||
for(let i = 0; i < num; i++) {
|
||||
let list = randomList.filter(cur => !taskIds.includes(cur.taskId));
|
||||
let list = randomList.filter(cur => !rids.includes(cur.taskId));
|
||||
let {dic: tmp} = getRandomWithWeight(list);
|
||||
if(tmp) {
|
||||
taskIds.push(tmp.taskId);
|
||||
rids.push(tmp.taskId)
|
||||
}
|
||||
}
|
||||
const curTasks = await TowerTaskRecModel.createTasks(roleId, roleName, batchCode, taskIds, refreshStatus);
|
||||
console.log(curTasks.length)
|
||||
if(refreshStatus == 1) {
|
||||
returnTasks = curTasks;
|
||||
}
|
||||
@@ -302,16 +302,17 @@ export function treatTask(recs: Array<any>, curTime: Date) {
|
||||
|
||||
// 刷新任务,正在进行中的部分保留,没有进行中的刷掉
|
||||
export function getDoingOrWaitingTasks (taskList: Array<any>, curTime: Date) {
|
||||
let doingTaskCode = new Array<string>(), waitingTaskCode = new Array<string>();
|
||||
let doingTaskCode = new Array<string>(), waitingTaskCode = new Array<string>(), doingIds = new Array<number>();
|
||||
for(let task of taskList) {
|
||||
let {status} = getTaskStatus(task.status, task.completeTime, curTime);
|
||||
if(status == 1||status == 2) {
|
||||
doingTaskCode.push(task.taskCode);
|
||||
doingIds.push(task.taskId);
|
||||
} else if(status == 0|| status == 3) {
|
||||
waitingTaskCode.push(task.taskCode);
|
||||
}
|
||||
}
|
||||
return {doingTaskCode, waitingTaskCode}
|
||||
return {doingTaskCode, waitingTaskCode, doingIds}
|
||||
}
|
||||
|
||||
export function getTaskStatus(status: number, completeTime: Date, curTime: Date) {
|
||||
|
||||
@@ -31,7 +31,7 @@ export async function roleLevelup(roleId: string, kingExp: number) {
|
||||
export async function checkBattleHeroes(roleId: string, heroes: Array<number>) {
|
||||
let flag = true;
|
||||
for(let seqId of heroes) {
|
||||
let hero = await HeroModel.findBySeqIdAndRole(seqId, roleId);
|
||||
let hero = await HeroModel.findBySeqIdAndRole(seqId||0, roleId);
|
||||
if(!hero) flag = false;
|
||||
}
|
||||
return flag;
|
||||
|
||||
Reference in New Issue
Block a user