修改挂机时间计算的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 { 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
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user