修改挂机时间计算的bug

This commit is contained in:
liangtongchuan
2020-10-16 12:07:57 +08:00
parent 31c1190e2c
commit 73a30b6eb0

View File

@@ -102,7 +102,8 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp
let { towerLv, hangUpSpdUpCnt, lastSpdUpTime } = await RoleModel.findByRoleId(roleId);
let { startLv, startTime} = await HangUpRecordModel.getCurRec(roleId);
let towerInfo = getTowerDataByLv(towerLv - 1); // towerLv 是当前层,奖励计算按照已经通过的层,即上一层
let multi = 1;
let multi = 1; // 结算奖励的倍数,受最大时间限制
let multiReal = 1; // 距开始挂机实际过去的时间单位
if (speedUp) {
if (hangUpSpdUpCnt >= speedUpCnt || shouldRefresh(lastSpdUpTime, new Date, HANG_UP_CONSTS.REFRESH_TIME, 1)) {
multi = speedUpCnt;
@@ -111,12 +112,13 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp
}
} else {
let deltaTime = curTime.getTime() - startTime.getTime();
multiReal = Math.floor(deltaTime / HANG_UP_CONSTS.UNIT_TIME);
if (deltaTime > HANG_UP_CONSTS.MAX_TIME) deltaTime = HANG_UP_CONSTS.MAX_TIME;
multi = Math.floor(deltaTime / HANG_UP_CONSTS.UNIT_TIME);
}
return {
endLv: towerLv - 1,
endTime: new Date(startTime.getTime() + multi * HANG_UP_CONSTS.UNIT_TIME),
endTime: new Date(startTime.getTime() + multiReal * HANG_UP_CONSTS.UNIT_TIME),
timeReward: towerInfo.timeReward,
multi
};