This commit is contained in:
mamengke01
2020-12-26 18:42:22 +08:00
parent 3b6b8a7d01
commit 66a9bf7809
9 changed files with 148 additions and 72 deletions

View File

@@ -6,13 +6,12 @@ import {Application, BackendSession} from 'pinus';
import { handleCost } from '../../../services/rewardService';
import { getTitle, getTeraph, gameData } from '../../../pubUtils/data';
import { SCHOOL, SCROLL } from '../../../pubUtils/dicParam';
import { getTeraphAttr } from '../../../consts/constModules/abilityConst'
import { getTeraphAttr, getAtrrNameById } from '../../../consts/constModules/abilityConst'
const _ = require('underscore');
import { SclResultInter, SclPosInter } from '../../../pubUtils/interface';
import { SchoolModel } from '../../../db/School';
import { TERAPH_RANDOM } from '../../../consts/consts';
import { checkMaterialEnough } from '../../../services/roleService'
import { calPlayerCeAndSave } from '../../../services/playerCeService';
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
import { HERO_SYSTEM_TYPE } from '../../../consts';
export default function(app: Application) {
@@ -121,11 +120,13 @@ export class RoleHandler {
let {attr, consumes} = checkMaterialEnough(type, attrs, teraphInfo, teraph);
for (let key in attr) {
teraph[key] += attr[key];
role.globalCeAttr[key].fixUp += attr[key];
}
let result = await handleCost(roleId, sid, consumes);
if (!result)
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
await RoleModel.updateRoleInfo(roleId, { teraphs: role.teraphs });
await RoleModel.updateRoleInfo(roleId, { teraphs: role.teraphs, globalCeAttr: role.globalCeAttr});
await calAllHeroCe( sid, roleId);
return resResult(STATUS.SUCCESS, { roleId, teraphs: role.teraphs });
}
@@ -148,13 +149,19 @@ export class RoleHandler {
teraph[attrName] = 0;
}
teraph.grade++;
if (!getTeraph(id, teraph.grade))
let nextTeraphInfo = getTeraph(id, teraph.grade)
if (!nextTeraphInfo)
return resResult(STATUS.DIC_DATA_NOT_FOUND)
let consumes = teraphInfo.upGradeMaterial;
let result = await handleCost(roleId, sid, consumes);
if (!result)
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
await RoleModel.updateRoleInfo(roleId, { teraphs: role.teraphs });
for (let {id, number} of nextTeraphInfo.assiAttrValue) {
let attrName = getAtrrNameById(id);
role.globalCeAttr[attrName].ratioUp += number;
}
await RoleModel.updateRoleInfo(roleId, { teraphs: role.teraphs, globalCeAttr: role.globalCeAttr});
await calAllHeroCe(sid, roleId);
return resResult(STATUS.SUCCESS, { roleId, teraphs: role.teraphs });
}