军团bug和备注

This commit is contained in:
mamengke01
2021-02-23 11:43:50 +08:00
parent 0fc828793a
commit 6759a7dcb1
9 changed files with 162 additions and 49 deletions

View File

@@ -6,7 +6,7 @@ import { BattleRecordModel } from '../../../db/BattleRecord';
import { nowSeconds, getTodayZeroPoint } from '../../../pubUtils/timeUtil';
import { getBossInstanceInfo, bossResult, checkMemberExists, pushBossHpMessage, getBossInstanceWhenEnd, addBossInstance } from '../../../services/guildBossService';
import { findWhere } from 'underscore'
import { GUILD_STRUCTURE, GUILD_POINT_WAYS } from '../../../consts/constModules/guildConst';
import { GUILD_STRUCTURE, GUILD_BOSS_STATUS, GUILD_POINT_WAYS } from '../../../consts/constModules/guildConst';
import { DATA_NAME } from '../../../consts/dataName';
import { UserGuildModel } from '../../../db/UserGuild';
import { GUILD_OPERATE } from '../../../consts';
@@ -14,7 +14,6 @@ import { checkAuth, addActive } from '../../../services/guildService';
import { GuildModel } from '../../../db/Guild';
import { getBossByLv } from '../../../pubUtils/data';
import { lockData } from '../../../services/redLockService';
import { handleCost } from '../../../services/rewardService';
export default function (app: Application) {
return new GuildHandler(app);
@@ -51,10 +50,9 @@ export class GuildHandler {
const { guildCode: code } = userGuild;
let bossInstance = await BossInstanceModel.findBossInstance(code);
if (!bossInstance) {
return resResult(STATUS.SUCCESS, {status: 1});//1等待团长开启2今日已开启且boss通关3开启中
return resResult(STATUS.SUCCESS, {status: GUILD_BOSS_STATUS.WAIT_OPEN});//等待团长开启
}
let result = await getBossInstanceInfo(bossInstance, roleId);
return resResult(STATUS.SUCCESS, result);
}
@@ -75,22 +73,27 @@ export class GuildHandler {
return resResult(STATUS.REDLOCK_ERR);
let bossInstance = await BossInstanceModel.findBossInstance(code);
if (!!bossInstance && ( bossInstance.bossHp > 0 || bossInstance.startTime >= getTodayZeroPoint() )) {
res.releaseCallback();
return resResult(STATUS.GUILD_SCRIPT_IS_OPENED_TODAY);
}
const guild = await GuildModel.findByCode(code, serverId, 'lv structure');
if(!guild) {
res.releaseCallback();
return resResult(STATUS.GUILD_NOT_FOUND);
}
const { structure } = guild;
const curStructure = structure.find(cur => cur.id == GUILD_STRUCTURE.BOSS);
if(!curStructure) {
res.releaseCallback();
return resResult(STATUS.GUILD_STRUCTURE_NOT_FOUND);
}
let bossBase = getBossByLv(curStructure.lv);
let { bossHp, warId } = getRandomByLen(bossBase.wars);
let resGuild = await GuildModel.costFund(code, bossBase.opencost);
if (!resGuild)
if (!resGuild) {
res.releaseCallback();
return resResult(STATUS.GUILD_FUND_NOT_ENOUGH);
}
await BossInstanceModel.openBossInstance(code, bossHp, warId, bossBase.bossLevel);
res.releaseCallback();
let result = {warId, ranks: [], myRank: {}, bossHp, status: 3, bossLv: bossBase.bossLevel, isBattled: false};
@@ -145,7 +148,7 @@ export class GuildHandler {
}
//记录伤害
let bossInstance = await BossInstanceModel.updateBossHp(code, damage, roleId);
if (!bossInstance) {//进入结算
if (!bossInstance|| bossInstance.bossHp == 0) {//进入结算
let flag = await bossResult(code, serverId, DATA_NAME.BOSS_SCRIPT, roleId, damage);
if (!flag) {
return resResult(STATUS.WRONG_PARMS);