From 22e657ec7cf26e09c3492eec5906fa6cd90025f3 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 13 Jan 2022 13:23:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E5=AE=9D=EF=BC=9A=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AF=BB=E5=AE=9D=E6=B2=A1=E6=9C=89=E7=BB=93=E7=AE=97=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/battle/handler/comBattleHandler.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 693755482..a39d92683 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -10,7 +10,7 @@ import { IT_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONS import Role, { RoleModel } from '../../../db/Role'; import { STATUS } from '../../../consts/statusCode'; import { Application, BackendSession } from 'pinus'; -import { resResult, getRandSingleEelm } from '../../../pubUtils/util'; +import { resResult, getRandSingleEelm, cal } from '../../../pubUtils/util'; import { RoleStatus, ComBattleTeamModel, ComBattleTeamType, BossHp, ComRoleStatusHero } from '../../../db/ComBattleTeam'; import { ItemModel, ItemType } from '../../../db/Item'; import { addItems, handleCost } from '../../../services/rewardService'; @@ -493,11 +493,11 @@ export class ComBattleHandler { let deltaHp = Math.abs(bh.hurtHp); if (boss.curHp >= deltaHp) { actBossHurts.push({dataId: boss.dataId, hurtHp: deltaHp}); - totalHurtHp += deltaHp; - boss.curHp -= deltaHp; + totalHurtHp = cal.add(totalHurtHp, deltaHp); + boss.curHp = cal.sub(boss.curHp, deltaHp); } else if (boss.curHp > 0) { actBossHurts.push({dataId: boss.dataId, hurtHp: boss.curHp}); - totalHurtHp += boss.curHp; + totalHurtHp = cal.add(totalHurtHp, boss.curHp); boss.curHp = 0; } } @@ -505,13 +505,13 @@ export class ComBattleHandler { }); // 更新玩家武将阵亡情况,计算玩家总伤害 const roleSt = teamStatus.roleStatus.find(st => st.roleId === roleId); - roleSt.totalDmg += totalHurtHp; + roleSt.totalDmg = cal.add(roleSt.totalDmg, totalHurtHp); if (killed && killed.length) { roleSt.killed = Array.from(new Set([...roleSt.killed, ...killed])); } teamStatus.curRnd = curRnd; - teamStatus.bossCurHp -= totalHurtHp; + teamStatus.bossCurHp = cal.sub(teamStatus.bossCurHp, totalHurtHp); if (teamStatus.bossCurHp < 0) teamStatus.bossCurHp = 0; // 推送本次行动情况 let channelService = this.app.get('channelService');