寻宝:增加每个武将伤害的统计

This commit is contained in:
luying
2022-05-27 18:38:08 +08:00
parent 3737c888fd
commit 393e93224e
5 changed files with 28 additions and 8 deletions

View File

@@ -447,7 +447,7 @@ export class ComBattleHandler {
* @returns
* @memberof ComBattleHandler
*/
async action(msg: {teamCode: string, bossHurts: Array<{dataId: number, hurtHp: number}>, killed: number[], curRnd: number}, session: BackendSession) {
async action(msg: {teamCode: string, bossHurts: Array<{hid: number, dataId: number, hurtHp: number}>, killed: number[], curRnd: number}, session: BackendSession) {
let roleId = session.get('roleId');
let { teamCode, killed, bossHurts, curRnd } = msg;
let teamStatus = this.teamMap.get(teamCode);
@@ -461,6 +461,7 @@ export class ComBattleHandler {
}
}
// 重置总血量,计算真实伤害
const roleSt = teamStatus.findMemberByRoleId(roleId);
let actBossHurts: {dataId: number, hurtHp: number}[] = [];
let totalHurtHp = 0;
teamStatus.bossHpArr.forEach(boss => {
@@ -476,11 +477,13 @@ export class ComBattleHandler {
totalHurtHp = cal.add(totalHurtHp, boss.curHp);
boss.curHp = 0;
}
if(bh.hid) {
roleSt.addHeroDamage(bh.hid, deltaHp);
}
}
}
});
// 更新玩家武将阵亡情况,计算玩家总伤害
const roleSt = teamStatus.roleStatus.find(st => st.roleId === roleId);
roleSt.totalDmg = cal.add(roleSt.totalDmg, totalHurtHp);
if (killed && killed.length) {
roleSt.killed = Array.from(new Set([...roleSt.killed, ...killed]));