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');