From d6cfbc53e3a9286f1d33ce6946a0ed490606e463 Mon Sep 17 00:00:00 2001 From: liangtongchuan Date: Tue, 8 Dec 2020 23:15:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E5=AE=9D=EF=BC=9A=E4=BF=AE=E5=A4=8Dbo?= =?UTF-8?q?ss=E8=A1=80=E9=87=8F=E4=B8=B2=E7=BA=BF=EF=BC=9B=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=9C=BA=E5=99=A8=E4=BA=BA=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/battle/handler/comBattleHandler.ts | 4 ++-- game-server/app/services/comBattleService.ts | 8 +++++--- shared/db/ComBattleTeam.ts | 2 +- shared/pubUtils/gamedata.ts | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index ad38920d9..8728f9794 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -549,7 +549,7 @@ export class ComBattleHandler { if (teamStatus && teamStatus.status === COM_TEAM_STATUS.FIGHTING) { let channelService = thiz.app.get('channelService'); let channel = channelService.getChannel(teamCode, false); - let team = await ComBattleTeamModel.syncTeamData({teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr}); + let team = await ComBattleTeamModel.syncTeamData({teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr, bossCurHp: teamStatus.bossCurHp}); if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR); channel.pushMessage('onTeamComplete', {teamCode, result: false}); thiz.teamMap.delete(teamCode); @@ -645,7 +645,7 @@ export class ComBattleHandler { st.fixReward = await getRealReward(teamStatus.blueprtId, st); }; } - let team = await ComBattleTeamModel.syncTeamData({teamCode, status: battleSt, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr}); + let team = await ComBattleTeamModel.syncTeamData({teamCode, status: battleSt, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr, bossCurHp: teamStatus.bossCurHp}); if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR); // 战斗胜利队长扣减藏宝图 diff --git a/game-server/app/services/comBattleService.ts b/game-server/app/services/comBattleService.ts index cf24ae967..bc1ac7d77 100644 --- a/game-server/app/services/comBattleService.ts +++ b/game-server/app/services/comBattleService.ts @@ -24,17 +24,19 @@ export function getRandBlueprtId(qualityArr: Array, cnt = 1) { export function getRandComBtlRobots(topFiveCe: number, lv: number, cnt: number) { let robotHeroes = getRandRobot(cnt); // 随机几个阵容 + let robots = getRandEelm(COM_BATTLE_ROBOT_ID_NAME, cnt); // 创建并添加机器人 let robotStArr = [], robotIdArr = []; - for (let robot of robotHeroes) { + robotHeroes.forEach((robot, idx) => { const robotCe = getRandValue(topFiveCe || 0, COM_BTL_CONST.ROBOT_CE_RATIO, 0); const robotLv = getRandValue(lv, COM_BTL_CONST.ROBOT_CE_RATIO, 0); const imgHid = robot[Math.floor(Math.random() * robot.length)]; - const { robotRoleId, robotRoleName } = COM_BATTLE_ROBOT_ID_NAME[Math.floor(Math.random() * COM_BATTLE_ROBOT_ID_NAME.length)]; + const { robotRoleId, robotRoleName } = robots[idx]; let robotStatus = new RoleStatus(robotRoleId, robotRoleName, false, false, imgHid, imgHid, robotCe, robotLv, robot, true); robotStArr.push(robotStatus); robotIdArr.push(robotRoleId); - } + }); + return { robotStArr, robotIdArr } diff --git a/shared/db/ComBattleTeam.ts b/shared/db/ComBattleTeam.ts index 9466d3f9c..05bc6f3ec 100644 --- a/shared/db/ComBattleTeam.ts +++ b/shared/db/ComBattleTeam.ts @@ -168,7 +168,7 @@ export default class ComBattleTeam extends BaseModel { return team; } - public static async syncTeamData(teamData: {teamCode: string, status: number, roleStatus: Array, bossHpArr: Array}, lean = true) { + public static async syncTeamData(teamData: {teamCode: string, status: number, roleStatus: Array, bossHpArr: Array, bossCurHp: number}, lean = true) { console.log('syncTeamData bossHpArr: ', teamData.bossHpArr); const team = await ComBattleTeamModel.findOneAndUpdate({ teamCode: teamData.teamCode }, {$set :{...teamData, roleCnt: teamData.roleStatus.length}}, {new: true}).lean(lean); return team; diff --git a/shared/pubUtils/gamedata.ts b/shared/pubUtils/gamedata.ts index 01ab5ab20..847df0361 100644 --- a/shared/pubUtils/gamedata.ts +++ b/shared/pubUtils/gamedata.ts @@ -378,7 +378,7 @@ export function getBossHpByWarId(warId: number) { btlBossHpSum.set(warId, bossHpSum); } } - return { bossHpSum, bossHpArr }; + return { bossHpSum, bossHpArr: JSON.parse(JSON.stringify(bossHpArr))}; } export function getWarIdByBlueprtId(blueprtId: number) {