战力:修复创建武将bug
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { RoleModel, RoleUpdate } from './../../../db/Role';
|
||||
import { HeroModel, HeroUpdate } from '../../../db/Hero';
|
||||
import { HeroModel, HeroType, HeroUpdate } from '../../../db/Hero';
|
||||
import { resResult, decodeIdCntArrayStr, parseGoodStr, genCode } from '../../../pubUtils/util';
|
||||
import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
|
||||
import { handleCost, addItems, getGoldObject, getCoinObject } from '../../../services/role/rewardService';
|
||||
@@ -24,8 +24,8 @@ import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import Counter from '../../../db/Counter';
|
||||
import { UserModel } from '../../../db/User';
|
||||
import { checkFilterWords, reportTAEvent, treatRoleName } from '../../../services/sdkService';
|
||||
import { createHeroes, CreateHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCe } from '../../../services/playerCeService';
|
||||
import { createHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCeWithHero, calculateWithRole } from '../../../services/playerCeService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -44,14 +44,14 @@ export class RoleHandler {
|
||||
|
||||
|
||||
let { roleName } = msg;
|
||||
let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit', true);
|
||||
let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit title teraphs', true);
|
||||
if (role.hasInit) return resResult(STATUS.ROLE_HAS_INIT);
|
||||
|
||||
let checkName = await RoleModel.checkName(roleName, serverId);
|
||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
||||
|
||||
let { resultHeroes: heroes } = await createHeroes(roleId, roleName, sid, serverId, DEFAULT_HEROES.map(hid => ({hid, count: 1})));
|
||||
role = await RoleModel.updateRoleInfo(roleId, { roleName, hasInit: true });
|
||||
let { resultHeroes: heroes } = await createHeroes(roleId, roleName, sid, serverId, DEFAULT_HEROES.map(hid => ({hid, count: 1})), { roleName, hasInit: true, title: role.title, teraphs: role.teraphs });
|
||||
// role = await RoleModel.updateRoleInfo(roleId, { roleName, hasInit: true }); // 在算战力的时候一起更新
|
||||
session.set('roleName', roleName);
|
||||
session.push('roleName', () => { });
|
||||
|
||||
@@ -95,7 +95,7 @@ export class RoleHandler {
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
|
||||
let update = { title: title + 1 }
|
||||
let { curRole } = await calculateCe(HERO_SYSTEM_TYPE.TITLE, roleId, serverId, sid, {}, update, {});
|
||||
let { curRole } = await calculateWithRole(HERO_SYSTEM_TYPE.TITLE, roleId, serverId, sid, update);
|
||||
|
||||
// 任务
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_TITLE, { oldTitle: title, title: update.title });
|
||||
@@ -128,7 +128,7 @@ export class RoleHandler {
|
||||
if (!result)
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
|
||||
let { curRole } = await calculateCe(HERO_SYSTEM_TYPE.TERAPH, roleId, serverId, sid, {}, { teraphs }, { teraphId: id });
|
||||
let { curRole } = await calculateWithRole(HERO_SYSTEM_TYPE.TERAPH, roleId, serverId, sid, { teraphs }, { teraphId: id });
|
||||
|
||||
// 任务
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, { count });
|
||||
@@ -171,7 +171,7 @@ export class RoleHandler {
|
||||
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.TERAPH_QUALITY_UP);
|
||||
if (!result)
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
let { curRole } = await calculateCe(HERO_SYSTEM_TYPE.TERAPH_UP, roleId, serverId, sid, {}, { teraphs }, { teraphId: id });
|
||||
let { curRole } = await calculateWithRole(HERO_SYSTEM_TYPE.TERAPH_UP, roleId, serverId, sid, { teraphs }, { teraphId: id });
|
||||
|
||||
// 神像进阶,进阶一次就触发一次礼包弹框
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_TERAPH_STAGE_UP);
|
||||
@@ -204,14 +204,14 @@ export class RoleHandler {
|
||||
return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
}
|
||||
let isOpen = !!dicPosition.get(positionId.toString()); // 该位置是否解锁
|
||||
|
||||
let curHero: HeroType = null;
|
||||
if (hid > 0) {
|
||||
let findHero = await SchoolModel.findByHid(roleId, hid);
|
||||
if (!!findHero) {
|
||||
return resResult(STATUS.ROLE_SCHOOL_HERO_USED);
|
||||
}
|
||||
|
||||
let curHero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
curHero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!curHero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ export class RoleHandler {
|
||||
}
|
||||
|
||||
await SchoolModel.updateBySclAndPos(roleId, schoolId, positionId, { hid, isOpen })
|
||||
await calculateCe(HERO_SYSTEM_TYPE.SCHOOL, roleId, serverId, sid, {}, {}, { schoolId, schoolHid: hid, preSchoolHid: preHid });
|
||||
await calculateWithRole(HERO_SYSTEM_TYPE.SCHOOL, roleId, serverId, sid, {}, { schoolId, hero: curHero, schoolHid: hid, preSchoolHid: preHid });
|
||||
|
||||
// 任务
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, { hid, preHid });
|
||||
@@ -319,7 +319,7 @@ export class RoleHandler {
|
||||
update.scrollId = dicHeroScroll ? dicHeroScroll.id : 0;
|
||||
|
||||
let hero = await HeroModel.updateHeroInfo(roleId, hid, update);
|
||||
await calculateCe(HERO_SYSTEM_TYPE.SCROLL, roleId, serverId, sid, update, {}, { hid });
|
||||
await calculateCeWithHero(HERO_SYSTEM_TYPE.SCROLL, roleId, serverId, sid, hid, update);
|
||||
|
||||
// 任务
|
||||
await checkTaskInActiveScroll(serverId, roleId, sid, scrollActive, hero);
|
||||
|
||||
Reference in New Issue
Block a user