|
|
|
@@ -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);
|
|
|
|
|
}
|
|
|
|
|
}
|