From 9fbf0c386ded28f905cdf2ce6619917da8e8daab Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 5 Sep 2022 14:49:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9C=E5=BE=81=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=AC=A1=E7=BA=A7=E5=B1=9E=E6=80=A7=E8=8E=B7=E5=8F=96=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E6=95=B0=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/expeditionService.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/game-server/app/services/expeditionService.ts b/game-server/app/services/expeditionService.ts index 304c5128e..9d11efca4 100644 --- a/game-server/app/services/expeditionService.ts +++ b/game-server/app/services/expeditionService.ts @@ -197,12 +197,11 @@ export async function matchRobots(scale: number, myCe: number, robotCe: number, enemyObj.enemyId = warJsonIndex + ''; let allCe = 0; - let dicExpeditionSubAttr = gameData.expeditionSubAttr.get(lv); for(let json of dicWarJson) { if(json.relation == 2) { const { attribute, enemyCount } = json; - let { attribute: newAttribute, ce } = getRobotAttribute(attribute, enemyCount, dicExpeditionSubAttr.attribute, dicExpeditionSubAttr.lv, myCe, robotCe, scale); + let { attribute: newAttribute, ce } = getRobotAttribute(attribute, enemyCount, lv, myCe, robotCe, scale); enemyObj.enemies.push({...json, skinId: json.actorId, attribute: newAttribute, lv, ce}); allCe += ce; } @@ -278,11 +277,13 @@ export async function getResetRemainCnt(curTime: Date, roleId: string, role?: Ro * @param enemyCe 出兵表对手战力 * @param ratio 系数 */ - export function getRobotAttribute(mainAttrs: { id: number, val: number }[], enemyCount: number, subAttrs: {id: number, val: number}[], lv: number, ce: number, enemyCe: number, ratio: number) { - + export function getRobotAttribute(mainAttrs: { id: number, val: number }[], enemyCount: number, lv: number, ce: number, enemyCe: number, ratio: number) { + let _lv = Math.floor(lv * ratio) let newAttribute = new AttributeCal(); - newAttribute.setLv(lv); - newAttribute.setByWarJson(subAttrs); // 次级属性 + newAttribute.setLv(_lv); + let dicExpeditionSubAttr = gameData.expeditionSubAttr.get(_lv); + newAttribute.setByWarJson(dicExpeditionSubAttr.attribute); // 次级属性 + let subAttrCe = newAttribute.calSubAttrCe() * enemyCount; if(ce * ratio > subAttrCe) { let mainAttrCe = ce * ratio - subAttrCe;