From f4666f81d3187f0e56af85ecfaf7a23b96969f80 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 30 Sep 2021 18:41:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=9A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8debug=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/role/handler/heroHandler.ts | 127 ++++++++---------- .../app/servers/role/handler/roleHandler.ts | 15 ++- 2 files changed, 70 insertions(+), 72 deletions(-) diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index 8f3c7f5e3..8df8b67d3 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -26,77 +26,6 @@ export class HeroHandler { constructor(private app: Application) { } - public async test(msg: {}, session: BackendSession) { - let sid = session.get('sid'); - - for (let i = 0; i < 3; i++) { - let heroes = await HeroModel.find({}).sort({ createdAt: 1 }).limit(1000).skip(i * 1000).lean(); - for (let { hid, roleId, roleName, skins } of heroes) { - await HeroModel.updateHeroInfo(roleId, hid, { skins: [] }); - for (let { id, enable } of skins) { - console.log(i, roleId, roleName, id); - await addSkin(roleId, roleName, id, enable); - } - } - } - return 'OK' - } - - // ! 测试接口,用来测试前清理并初始化某个武将;代码抄自:gm-server/app/service/users.ts deleteHero - public async testCleanUp(msg: { magicWord: string, hid: number }, session: BackendSession) { - let roleId: string = session.get('roleId'); - let roleName: string = session.get('roleName'); - let sid: string = session.get('sid'); - - const { magicWord, hid } = msg; - if (magicWord !== DEBUG_MAGIC_WORD) { - return resResult(STATUS.TOKEN_ERR); - } - - let dicHero = gameData.hero.get(hid); - if (!dicHero) return resResult(STATUS.HERO_NOT_FIND); - await addItems(roleId, roleName, sid, [{ - id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END - }]); - - let hero = await HeroModel.findByHidAndRole(hid, roleId); - if (!hero) return resResult(STATUS.HERO_NOT_FIND); - - await HeroModel.deleteHero(roleId, hid); - let role = await RoleModel.findByRoleId(roleId); - await calculatetopLineup(role, hid, 0, null); - await PvpDefenseModel.deleteHero(roleId, hid); - await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce }); - return resResult(STATUS.SUCCESS); - } - - public async addItem(msg: { id: number, count: number }, session: BackendSession) { - let roleId: string = session.get('roleId'); - let roleName: string = session.get('roleName'); - let sid: string = session.get('sid'); - - let { id, count } = msg; - - //let result = await handleCost(roleId, sid, [{id, count}] ); - let items = [{ id, count }]; - let role = await RoleModel.findByRoleId(roleId); - if (id == 999999) { - items = getDropItems(); - if (role.lv < 60) { - role.lv = 60; - let roleLvInfo = gameData.kingexp.get(role.lv - 1); - role.exp = roleLvInfo.sum; - await RoleModel.updateRoleInfo(roleId, role); - } - } - let result = await addItems(roleId, roleName, sid, items); - if (!result) { - return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); - } - return resResult(STATUS.SUCCESS, { goods: result, lv: role.lv, exp: role.exp }); - - } - // 武将碎片合成 public async compose(msg: { hid: number }, session: BackendSession) { @@ -685,4 +614,60 @@ export class HeroHandler { return resResult(STATUS.SUCCESS, resultHeroes); } + + + // ! 测试接口,用来测试前清理并初始化某个武将;代码抄自:gm-server/app/service/users.ts deleteHero + public async testCleanUp(msg: { magicWord: string, hid: number }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let roleName: string = session.get('roleName'); + let sid: string = session.get('sid'); + + const { magicWord, hid } = msg; + if (magicWord !== DEBUG_MAGIC_WORD) { + return resResult(STATUS.TOKEN_ERR); + } + + let dicHero = gameData.hero.get(hid); + if (!dicHero) return resResult(STATUS.HERO_NOT_FIND); + await addItems(roleId, roleName, sid, [{ + id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END + }]); + + let hero = await HeroModel.findByHidAndRole(hid, roleId); + if (!hero) return resResult(STATUS.HERO_NOT_FIND); + + await HeroModel.deleteHero(roleId, hid); + let role = await RoleModel.findByRoleId(roleId); + await calculatetopLineup(role, hid, 0, null); + await PvpDefenseModel.deleteHero(roleId, hid); + await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce }); + return resResult(STATUS.SUCCESS); + } + + public async addItem(msg: { id: number, count: number }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let roleName: string = session.get('roleName'); + let sid: string = session.get('sid'); + + let { id, count } = msg; + + //let result = await handleCost(roleId, sid, [{id, count}] ); + let items = [{ id, count }]; + let role = await RoleModel.findByRoleId(roleId); + if (id == 999999) { + items = getDropItems(); + if (role.lv < 60) { + role.lv = 60; + let roleLvInfo = gameData.kingexp.get(role.lv - 1); + role.exp = roleLvInfo.sum; + await RoleModel.updateRoleInfo(roleId, role); + } + } + let result = await addItems(roleId, roleName, sid, items); + if (!result) { + return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); + } + return resResult(STATUS.SUCCESS, { goods: result, lv: role.lv, exp: role.exp }); + + } } diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index 4e10493e1..c5c662300 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -13,7 +13,7 @@ import { SchoolModel } from '../../../db/School'; import { getTeraphStrengthenResult, getSchoolList } from '../../../services/roleService' import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService'; import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAULT_HEROES, DEFAULT_HERO_LV, DEFAULT_ITEMS, DEFAULT_EQUIPS, DEFAULT_GOLD, DEFAULT_COIN, DEBUG_MAGIC_WORD } from '../../../consts'; -import { checkBattleHeroesByHid } from '../../../services/normalBattleService'; +import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService'; import { Rank } from '../../../services/rankService'; import { updateUserInfo } from '../../../services/redisService'; import { checkTaskWithHero, checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/taskService'; @@ -558,4 +558,17 @@ export class RoleHandler { return resResult(STATUS.SUCCESS); } + + async debugRoleLvUp(msg: { magicWord: string, lv: number }, session: BackendSession) { + const { magicWord, lv } = msg; + if (magicWord !== DEBUG_MAGIC_WORD) { + return resResult(STATUS.TOKEN_ERR); + } + + let roleId = session.get('roleId'); + let roleLvInfo = gameData.kingexp.get(lv - 1); + let role = await RoleModel.updateRoleInfo(roleId, { lv, exp: roleLvInfo.sum }); + + return resResult(STATUS.SUCCESS, { lv: role.lv }); + } }