奇遇: 前置关卡限制条件
This commit is contained in:
@@ -8,6 +8,7 @@ import { STATUS } from '../consts/statusCode';
|
|||||||
import { gameData } from '../pubUtils/data';
|
import { gameData } from '../pubUtils/data';
|
||||||
import { DicQuestion } from '../pubUtils/dictionary/DicQuestion';
|
import { DicQuestion } from '../pubUtils/dictionary/DicQuestion';
|
||||||
import { sendMessageToUserWithSuc } from './pushService';
|
import { sendMessageToUserWithSuc } from './pushService';
|
||||||
|
import { WarStar } from '../domain/dbGeneral';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 从检查接口调用,检查是否有这么个战斗,顺便保存一下battleCode
|
* 从检查接口调用,检查是否有这么个战斗,顺便保存一下battleCode
|
||||||
@@ -166,8 +167,8 @@ export async function refreshEvent(num: number, roleId: string, roleName: string
|
|||||||
let dicEvent = gameData.eventList.filter(cur => cur.movePointArray && cur.movePointArray.length > 0);
|
let dicEvent = gameData.eventList.filter(cur => cur.movePointArray && cur.movePointArray.length > 0);
|
||||||
let role = await RoleModel.findByRoleId(roleId);
|
let role = await RoleModel.findByRoleId(roleId);
|
||||||
dicEvent = dicEvent.filter(cur => { // 筛选适合等级
|
dicEvent = dicEvent.filter(cur => { // 筛选适合等级
|
||||||
let { suitLevel } = cur;
|
let { suitLevel, previousGk } = cur;
|
||||||
return suitLevel.min <= role.lv && suitLevel.max >= role.lv
|
return suitLevel.min <= role.lv && suitLevel.max >= role.lv && checkPreviousGk(previousGk, role.warStar)
|
||||||
});
|
});
|
||||||
if(EVENT_RANDOM_TYPE_ONE_OPEN) {
|
if(EVENT_RANDOM_TYPE_ONE_OPEN) {
|
||||||
let historyRecord = await EventRecordModel.getHostoryEventRecord(roleId);
|
let historyRecord = await EventRecordModel.getHostoryEventRecord(roleId);
|
||||||
@@ -240,6 +241,12 @@ export async function refreshEvent(num: number, roleId: string, roleName: string
|
|||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function checkPreviousGk(previousGk: number, warStar: WarStar[]) {
|
||||||
|
if(!previousGk) return true;
|
||||||
|
let preBattle = warStar.findIndex(cur => cur.id == previousGk);
|
||||||
|
return preBattle != -1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 随机出当前事件的位置
|
* 随机出当前事件的位置
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ export interface DicEvent {
|
|||||||
readonly weight: number;
|
readonly weight: number;
|
||||||
// 移动点
|
// 移动点
|
||||||
readonly movePointArray: Array<number>;
|
readonly movePointArray: Array<number>;
|
||||||
|
// 必须通过的关卡
|
||||||
|
readonly previousGk: number;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user