寻宝:匹配的队伍也要超时判负;action 返回本次伤害;测试用例修改
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user