镇念塔:系统参数表
This commit is contained in:
@@ -7,14 +7,14 @@ import { RoleModel } from './../../../db/Role';
|
||||
import { TowerRecordModel } from './../../../db/TowerRecord';
|
||||
import { Application, BackendSession } from 'pinus';
|
||||
import { resResult, shouldRefresh, calculateNum, genCode } from '../../../pubUtils/util';
|
||||
import { calcuHangUpReward, checkTaskConditions, checkHangUpSpdUpCnt, refreshTasks, treatTask, getRemainTime, getDoingOrWaitingTasks, getTowerStatus, getHungupRewards, getTasks, checkTaskRewards, getTowerTaskCostGold, getTowerTaskSpdUpCostGold } from '../../../services/battleService';
|
||||
import { calcuHangUpReward, checkTaskConditions, checkHangUpSpdUpCnt, refreshTasks, treatTask, getRemainTime, getDoingOrWaitingTasks, getTowerStatus, getHungupRewards, getTasks, checkTaskRewards, getTowerTaskCostGold, getHangSpdUpCostGold, getManyHangSpdUpCostGold } from '../../../services/battleService';
|
||||
import { addItems, handleCost } from '../../../services/rewardService';
|
||||
import { checkBattleHeroes } from '../../../services/normalBattleService';
|
||||
import { getGoldObject } from '../../../pubUtils/itemUtils';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { ItemInter } from '../../../pubUtils/interface';
|
||||
import { TOWER_SEARCH } from '../../../pubUtils/dicParam';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new TowerBattleHandler(app);
|
||||
@@ -98,7 +98,7 @@ export class TowerBattleHandler {
|
||||
if(result.status == -1) return result.resResult;
|
||||
let {data: {hangUpSpdUpCnt, gold}} = result;
|
||||
|
||||
const costGold = this.getHangUpCost(hangUpSpdUpCnt, msg.speedUpCnt);
|
||||
const costGold = getManyHangSpdUpCostGold(hangUpSpdUpCnt, msg.speedUpCnt);
|
||||
if(costGold > gold) {
|
||||
return resResult(STATUS.TOWER_GOLD_NOT_ENOUGH);
|
||||
}
|
||||
@@ -111,23 +111,12 @@ export class TowerBattleHandler {
|
||||
}
|
||||
const spdUpRec = await HangUpSpdUpRecModel.updateRec(roleId, roleName, msg.speedUpCnt, endLv, needReceiveGoods);
|
||||
const goods = await addItems(roleId, roleName, sid, timeReward);
|
||||
hangUpSpdUpCnt -= msg.speedUpCnt;
|
||||
let num = HANG_UP_CONSTS.MAX_SPD_UP_CNT - hangUpSpdUpCnt + 1;
|
||||
let nextCostGold = getTowerTaskSpdUpCostGold(num);
|
||||
let num = getManyHangSpdUpCostGold(spdUpResult.hangUpSpdUpCnt, 1);
|
||||
let nextCostGold = getHangSpdUpCostGold(num);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { goods, hangUpSpdUpCnt, nextCostGold, hangUpPassTime: Math.floor(deltaTime/1000), rewardLv: endLv, costGold });
|
||||
}
|
||||
|
||||
getHangUpCost(originCnt: number, count: number) {
|
||||
let gold = 0;
|
||||
for(let i = 1; i <= count; i++) {
|
||||
let num = HANG_UP_CONSTS.MAX_SPD_UP_CNT - originCnt + i;
|
||||
if(num < 0) num = i;
|
||||
gold += getTowerTaskSpdUpCostGold(num);
|
||||
}
|
||||
return gold
|
||||
}
|
||||
|
||||
async getTasks(msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
@@ -142,11 +131,11 @@ export class TowerBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let curTime = new Date();
|
||||
let { towerLv, towerTaskCnt = 0, towerTaskReCnt=0 } = await RoleModel.findByRoleId(roleId);
|
||||
if(TOWER_SEARCH.TOWER_SEARCH_REFRESHRULE <= towerTaskCnt) { // 付费刷新次数
|
||||
let { towerLv, towerTaskRefTime, towerTaskReCnt=0 } = await RoleModel.findByRoleId(roleId);
|
||||
if(towerTaskReCnt >= dicParam.TOWER_SEARCH.TOWER_SEARCH_REFRESHRULE) { // 付费刷新次数
|
||||
return resResult(STATUS.TOWER_REF_CNT_NOT_ENOUGH);
|
||||
}
|
||||
let costGold = getTowerTaskCostGold(towerTaskCnt + 1);
|
||||
let costGold = getTowerTaskCostGold(towerTaskReCnt, towerTaskRefTime);
|
||||
let {gold} = await RoleModel.findByRoleId(roleId);
|
||||
if(costGold > gold) {
|
||||
return resResult(STATUS.TOWER_GOLD_NOT_ENOUGH);
|
||||
@@ -159,10 +148,10 @@ export class TowerBattleHandler {
|
||||
if(task) batchCode = task.batchCode;
|
||||
}
|
||||
curTasks = await refreshTasks(towerLv, batchCode, roleId, roleName, curTasks);
|
||||
await RoleModel.increaseTowerRefCnt(roleId, 1);
|
||||
let newRole = await RoleModel.increaseTowerRefCnt(roleId, 1);
|
||||
|
||||
let refRemainTime = getRemainTime(curTime);
|
||||
let nextCostGold = getTowerTaskCostGold(towerTaskReCnt + 1);
|
||||
let nextCostGold = getTowerTaskCostGold(newRole.towerTaskReCnt, newRole.towerTaskRefTime);
|
||||
return resResult(STATUS.SUCCESS, { curTasks: treatTask(curTasks, curTime), costGold, nextCostGold, refRemainTime});
|
||||
}
|
||||
|
||||
@@ -213,7 +202,7 @@ export class TowerBattleHandler {
|
||||
let refRemainTime = getRemainTime(curTime);
|
||||
|
||||
curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务
|
||||
let costGold = getTowerTaskCostGold(role.towerTaskCnt + 1);
|
||||
let costGold = getTowerTaskCostGold(role.towerTaskReCnt, role.towerTaskRefTime);
|
||||
return resResult(STATUS.SUCCESS, { curTasks: treatTask(curTasks, curTime), refRemainTime, nextCostGold: costGold });
|
||||
}
|
||||
|
||||
@@ -247,7 +236,7 @@ export class TowerBattleHandler {
|
||||
|
||||
let curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let costGold = getTowerTaskCostGold(role.towerTaskCnt + 1);
|
||||
let costGold = getTowerTaskCostGold(role.towerTaskReCnt, role.towerTaskRefTime);
|
||||
return resResult(STATUS.SUCCESS, { curTasks: treatTask(curTasks, curTime), goods, refRemainTime, nextCostGold: costGold });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user