后台:跳过序章
This commit is contained in:
@@ -5,12 +5,10 @@ import { getRoleOnlineInfo, updateUserInfo } from '../../../services/redisServic
|
||||
import { addItems } from '../../../services/role/rewardService';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { gameData, getExpByLv, getHeroExpByLv, getHeroLvByExp, getLvByExp } from '../../../pubUtils/data';
|
||||
import { RoleModel, RoleType } from '../../../db/Role';
|
||||
import { BLOCK_TYPE, GUILD_AUTH, GUILD_DISMISS_WAY, GUILD_JOB, GUILD_MASTER_CHANGE_WAY, GUILD_STATUS, GUILD_STRUCTURE, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, TA_EVENT } from '../../../consts';
|
||||
import { RoleModel, RoleType, WarStar } from '../../../db/Role';
|
||||
import { BLOCK_TYPE, DEFAULT_HEROES, GUILD_AUTH, GUILD_DISMISS_WAY, GUILD_JOB, GUILD_MASTER_CHANGE_WAY, GUILD_STATUS, GUILD_STRUCTURE, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, TA_EVENT, WAR_TYPE } from '../../../consts';
|
||||
import { GuildFormParam, SetHeroParam } from '../../../domain/backEndField/params';
|
||||
import { GuildModel, GuildUpdateParam } from '../../../db/Guild';
|
||||
import { getGuildChannelSid } from '../../../services/chatService';
|
||||
import { pushGuildNoticeUpdateMsg } from '../../../services/sysChatService'
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { UserGuildModel } from '../../../db/UserGuild';
|
||||
import { UserGuildApplyModel } from '../../../db/UserGuildApply';
|
||||
@@ -24,6 +22,8 @@ import { createHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCeWithHero } from '../../../services/playerCeService';
|
||||
import { pushChangeGuildLeader, pushGuildDismiss, pushGuildInfoUpdate } from '../../../services/guildService';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { RScriptRecordModel } from '../../../db/RScriptRecord';
|
||||
import { DicWar } from '../../../pubUtils/dictionary/DicWar';
|
||||
|
||||
let timer: NodeJS.Timer;
|
||||
export default function (app: Application) {
|
||||
@@ -252,4 +252,35 @@ export class GmRoleHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS, { code });
|
||||
}
|
||||
|
||||
async skipEpilogue(msg: { roleId: string, roleName: string }, session: BackendSession) {
|
||||
|
||||
const { roleId, roleName } = msg;
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
if(role.hasInit) return resResult(STATUS.ROLE_HAS_INIT);
|
||||
|
||||
let checkName = await RoleModel.checkName(roleName, role.serverId);
|
||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
||||
|
||||
let warStars: WarStar[] = [];
|
||||
let insertParams: DicWar[] = [];
|
||||
let exp = 0;
|
||||
for(let i = 101; i <= 103; i++) {
|
||||
let dicWar = gameData.war.get(i);
|
||||
await RScriptRecordModel.insertScripts(roleId, insertParams);
|
||||
insertParams.push(dicWar);
|
||||
warStars.push({ id: dicWar.war_id, warType: dicWar.warType, star: 0, stars: [] });
|
||||
exp += dicWar.kingExp;
|
||||
}
|
||||
let lv = getLvByExp(exp);
|
||||
|
||||
await RScriptRecordModel.deleteByWarType(roleId, WAR_TYPE.NORMAL);
|
||||
await RScriptRecordModel.insertScripts(roleId, insertParams);
|
||||
|
||||
let onlineUser = await getRoleOnlineInfo(roleId);
|
||||
await createHeroes(roleId, roleName, onlineUser?.sid, role.serverId, DEFAULT_HEROES.map(hid => ({hid, count: 1})), { roleName, hasInit: true, title: role.title, teraphs: role.teraphs, lv, exp, warStar: warStars });
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user