修改挂机时间计算的bug

This commit is contained in:
liangtongchuan
2020-10-16 12:07:57 +08:00
parent 31c1190e2c
commit 73a30b6eb0
+4 -2
View File
@@ -102,7 +102,8 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp
let { towerLv, hangUpSpdUpCnt, lastSpdUpTime } = await RoleModel.findByRoleId(roleId); let { towerLv, hangUpSpdUpCnt, lastSpdUpTime } = await RoleModel.findByRoleId(roleId);
let { startLv, startTime} = await HangUpRecordModel.getCurRec(roleId); let { startLv, startTime} = await HangUpRecordModel.getCurRec(roleId);
let towerInfo = getTowerDataByLv(towerLv - 1); // towerLv 是当前层,奖励计算按照已经通过的层,即上一层 let towerInfo = getTowerDataByLv(towerLv - 1); // towerLv 是当前层,奖励计算按照已经通过的层,即上一层
let multi = 1; let multi = 1; // 结算奖励的倍数,受最大时间限制
let multiReal = 1; // 距开始挂机实际过去的时间单位
if (speedUp) { if (speedUp) {
if (hangUpSpdUpCnt >= speedUpCnt || shouldRefresh(lastSpdUpTime, new Date, HANG_UP_CONSTS.REFRESH_TIME, 1)) { if (hangUpSpdUpCnt >= speedUpCnt || shouldRefresh(lastSpdUpTime, new Date, HANG_UP_CONSTS.REFRESH_TIME, 1)) {
multi = speedUpCnt; multi = speedUpCnt;
@@ -111,12 +112,13 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp
} }
} else { } else {
let deltaTime = curTime.getTime() - startTime.getTime(); 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; if (deltaTime > HANG_UP_CONSTS.MAX_TIME) deltaTime = HANG_UP_CONSTS.MAX_TIME;
multi = Math.floor(deltaTime / HANG_UP_CONSTS.UNIT_TIME); multi = Math.floor(deltaTime / HANG_UP_CONSTS.UNIT_TIME);
} }
return { return {
endLv: towerLv - 1, 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, timeReward: towerInfo.timeReward,
multi multi
}; };