寻宝:战斗结束清理机器人攻击计时器
This commit is contained in:
@@ -241,7 +241,6 @@ export function updateRobotHurt(teamStatus, roleSt: RoleStatus, channel: Channel
|
||||
roleSt.totalDmg += robotTotalHurt;
|
||||
updateRobotKilled(teamStatus.bossHp, roleSt);
|
||||
channel.pushMessage('onTeammateAct', resResult(STATUS.SUCCESS, { teamCode: teamStatus.teamCode, bossCurHp: teamStatus.bossCurHp, bossHpArr: teamStatus.bossHpArr, roleStatus: teamStatus.roleStatus, actRoleId: roleSt.roleId, actBossHurts }));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -253,7 +252,8 @@ export function updateRobotHurt(teamStatus, roleSt: RoleStatus, channel: Channel
|
||||
* @param {Channel} channel
|
||||
* @param {Map<string, NodeJS.Timer>} robotHurtTimer
|
||||
*/
|
||||
export function updateRobotHurtByTime(teamStatus, roleSt: RoleStatus, interval: number, channel: Channel) {
|
||||
export function updateRobotHurtByTime(teamStatus, roleSt: RoleStatus, interval: number, channel: Channel, robotHurtTimer: Map<string, NodeJS.Timer>) {
|
||||
const timerKey = `${teamStatus.teamCode}_${roleSt.roleId}`;
|
||||
const robotTimer = setInterval(() => {
|
||||
const robotTotalHurt = teamStatus.bossHp * COM_BTL_CONST.ROBOT_HURT_RATIO;
|
||||
if (roleSt.totalDmg < robotTotalHurt) {
|
||||
@@ -262,8 +262,33 @@ export function updateRobotHurtByTime(teamStatus, roleSt: RoleStatus, interval:
|
||||
clearInterval(robotTimer);
|
||||
}
|
||||
}, interval * 1000);
|
||||
if (!robotHurtTimer.has(timerKey)) {
|
||||
robotHurtTimer.set(timerKey, robotTimer);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 清理机器人伤害的 timer
|
||||
* @export
|
||||
* @param {*} teamStatus 寻宝队伍状态
|
||||
* @param {Map<string, NodeJS.Timer>} robotHurtTimer
|
||||
*/
|
||||
export function clearRobotHurtTimer(teamStatus, robotHurtTimer: Map<string, NodeJS.Timer>) {
|
||||
teamStatus.roleStatus.forEach(st => {
|
||||
const timerKey = `${teamStatus.teamCode}_${st.roleId}`;
|
||||
if (st.isRobot === true && robotHurtTimer.has(timerKey)) {
|
||||
clearInterval(robotHurtTimer.get(timerKey));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 检查寻宝等级是否合法
|
||||
* @export
|
||||
* @param {number} lv 玩家等级
|
||||
* @param {number} lvRange 藏宝图等级范围
|
||||
* @returns
|
||||
*/
|
||||
export function comBtlLvInvalid(lv: number, lvRange: number) {
|
||||
const lvs = comBtlRangeInfo(lvRange);
|
||||
if (!lvs) return true;
|
||||
|
||||
Reference in New Issue
Block a user