修改挂机时间计算的bug
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user