寻宝:匹配的队伍也要超时判负;action 返回本次伤害;测试用例修改

This commit is contained in:
liangtongchuan
2021-01-19 20:07:37 +08:00
parent 7743e1036b
commit 3d29da928e
3 changed files with 29 additions and 14 deletions

View File

@@ -256,9 +256,7 @@ export class ComBattleHandler {
}
// 机器人队伍 3 秒直接开战
setTimeout(async () => {
await ComBattleTeamModel.updateStatusByCode(teamCode, COM_TEAM_STATUS.FIGHTING);
comTeam.status = COM_TEAM_STATUS.FIGHTING;
channelService.pushMessageByUids('onComBtlStart', resResult(STATUS.SUCCESS, {teamCode, roleStatus: comTeam.roleStatus}), [{uid: roleId, sid}]);
thiz.startBattle({teamCode}, session);
}, 3000);
}, COM_BTL_CONST.ASSIST_TIME);
return resResult(STATUS.SUCCESS);
@@ -565,15 +563,18 @@ export class ComBattleHandler {
}
}
// 重置总血量,计算真实伤害
let actBossHurts = [];
let totalHurtHp = 0;
teamStatus.bossHpArr.forEach(boss => {
for (let bh of bossHurts) {
if (boss.dataId === bh.dataId && bh.hurtHp < 0) {
let deltaHp = Math.abs(bh.hurtHp);
if (boss.curHp >= deltaHp) {
actBossHurts.push({dataId: boss.dataId, hurtHp: deltaHp});
totalHurtHp += deltaHp;
boss.curHp -= deltaHp;
} else if (boss.curHp > 0) {
actBossHurts.push({dataId: boss.dataId, hurtHp: boss.curHp});
totalHurtHp += boss.curHp;
boss.curHp = 0;
}
@@ -619,7 +620,7 @@ export class ComBattleHandler {
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(teamCode, false);
const roleStatus = teamStatus.roleStatus.map(st => {return {roleId: st.roleId, totalDmg: st.totalDmg, killed: st.killed}});
channel.pushMessage('onTeammateAct', resResult(STATUS.SUCCESS, {teamCode, bossCurHp: teamStatus.bossCurHp, bossHpArr: teamStatus.bossHpArr, roleStatus}));
channel.pushMessage('onTeammateAct', resResult(STATUS.SUCCESS, { teamCode, bossCurHp: teamStatus.bossCurHp, bossHpArr: teamStatus.bossHpArr, roleStatus, actRoleId: roleId, actBossHurts }));
// 判断战斗是否结束
let battleSt = checkComBattleResult(teamStatus);
teamStatus.status = battleSt;