寻宝:简化战场同步逻辑
This commit is contained in:
@@ -442,7 +442,6 @@ export class ComBattleHandler {
|
||||
*/
|
||||
async action(msg: {teamCode: string, bossHurts: Array<{dataId: number, hurtHp: number}>, killed: Array<number>, curRnd: number}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let { teamCode, killed, bossHurts, curRnd } = msg;
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
|
||||
@@ -471,19 +470,13 @@ export class ComBattleHandler {
|
||||
}
|
||||
}
|
||||
});
|
||||
// 更新玩家武将阵亡情况,计算玩家总伤害,计算机器人造成的伤害
|
||||
teamStatus.roleStatus.forEach(roleSt => {
|
||||
if (roleSt.roleId === roleId) {
|
||||
if (killed && killed.length) {
|
||||
killed.forEach(killedHid => {
|
||||
if (roleSt.killed.indexOf(killedHid) === -1 && roleSt.heroes.indexOf(killedHid) !== -1) {
|
||||
roleSt.killed.push(killedHid);
|
||||
}
|
||||
});
|
||||
}
|
||||
roleSt.totalDmg += totalHurtHp;
|
||||
}
|
||||
});
|
||||
// 更新玩家武将阵亡情况,计算玩家总伤害
|
||||
const roleSt = teamStatus.roleStatus.find(st => st.roleId === roleId);
|
||||
roleSt.totalDmg += totalHurtHp;
|
||||
if (killed && killed.length) {
|
||||
roleSt.killed = Array.from(new Set([...roleSt.killed, ...killed]));
|
||||
}
|
||||
|
||||
teamStatus.curRnd = curRnd;
|
||||
teamStatus.bossCurHp -= totalHurtHp;
|
||||
if (teamStatus.bossCurHp < 0) teamStatus.bossCurHp = 0;
|
||||
|
||||
Reference in New Issue
Block a user