寻宝:修复寻宝没有结算的问题

This commit is contained in:
luying
2022-01-13 13:23:17 +08:00
parent be36c95bf1
commit 22e657ec7c
@@ -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 Role, { RoleModel } from '../../../db/Role';
import { STATUS } from '../../../consts/statusCode'; import { STATUS } from '../../../consts/statusCode';
import { Application, BackendSession } from 'pinus'; 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 { RoleStatus, ComBattleTeamModel, ComBattleTeamType, BossHp, ComRoleStatusHero } from '../../../db/ComBattleTeam';
import { ItemModel, ItemType } from '../../../db/Item'; import { ItemModel, ItemType } from '../../../db/Item';
import { addItems, handleCost } from '../../../services/rewardService'; import { addItems, handleCost } from '../../../services/rewardService';
@@ -493,11 +493,11 @@ export class ComBattleHandler {
let deltaHp = Math.abs(bh.hurtHp); let deltaHp = Math.abs(bh.hurtHp);
if (boss.curHp >= deltaHp) { if (boss.curHp >= deltaHp) {
actBossHurts.push({dataId: boss.dataId, hurtHp: deltaHp}); actBossHurts.push({dataId: boss.dataId, hurtHp: deltaHp});
totalHurtHp += deltaHp; totalHurtHp = cal.add(totalHurtHp, deltaHp);
boss.curHp -= deltaHp; boss.curHp = cal.sub(boss.curHp, deltaHp);
} else if (boss.curHp > 0) { } else if (boss.curHp > 0) {
actBossHurts.push({dataId: boss.dataId, hurtHp: boss.curHp}); actBossHurts.push({dataId: boss.dataId, hurtHp: boss.curHp});
totalHurtHp += boss.curHp; totalHurtHp = cal.add(totalHurtHp, boss.curHp);
boss.curHp = 0; boss.curHp = 0;
} }
} }
@@ -505,13 +505,13 @@ export class ComBattleHandler {
}); });
// 更新玩家武将阵亡情况,计算玩家总伤害 // 更新玩家武将阵亡情况,计算玩家总伤害
const roleSt = teamStatus.roleStatus.find(st => st.roleId === roleId); const roleSt = teamStatus.roleStatus.find(st => st.roleId === roleId);
roleSt.totalDmg += totalHurtHp; roleSt.totalDmg = cal.add(roleSt.totalDmg, totalHurtHp);
if (killed && killed.length) { if (killed && killed.length) {
roleSt.killed = Array.from(new Set([...roleSt.killed, ...killed])); roleSt.killed = Array.from(new Set([...roleSt.killed, ...killed]));
} }
teamStatus.curRnd = curRnd; teamStatus.curRnd = curRnd;
teamStatus.bossCurHp -= totalHurtHp; teamStatus.bossCurHp = cal.sub(teamStatus.bossCurHp, totalHurtHp);
if (teamStatus.bossCurHp < 0) teamStatus.bossCurHp = 0; if (teamStatus.bossCurHp < 0) teamStatus.bossCurHp = 0;
// 推送本次行动情况 // 推送本次行动情况
let channelService = this.app.get('channelService'); let channelService = this.app.get('channelService');