寻宝部分假数据改为读表

This commit is contained in:
liangtongchuan
2020-11-20 23:36:34 +08:00
parent 1145d95889
commit 7d0900c321
4 changed files with 64 additions and 9 deletions
@@ -1,12 +1,12 @@
import { IT_TYPE } from '../../../consts/consts';
import { getGoodById } from '../../../pubUtils/gamedata';
import { getGoodById, getBossHpByBlueprtId, getComBtlSetByQuality } from '../../../pubUtils/gamedata';
import { COM_TEAM_STATUS, COM_TEAM_ENABLE_LV } from '../../../consts/consts';
import { ComBattleTeamModel } from './../../../db/ComBattleTeam';
import Role, { RoleModel } from './../../../db/Role';
import { ComBattleTeamModel } from '../../../db/ComBattleTeam';
import Role, { RoleModel } from '../../../db/Role';
import { STATUS } from '../../../consts/statusCode';
import { Application, BackendSession } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { RoleStatus } from './../../../db/ComBattleTeam';
import { RoleStatus } from '../../../db/ComBattleTeam';
export default function(app: Application) {
return new ComBattleHandler(app);
@@ -67,8 +67,7 @@ export class ComBattleHandler {
comTeam.roleIds = [roleId];
comTeam.status = COM_TEAM_STATUS.DEFAULT;
comTeam.ceLimit = ceLimit;
// TODO: boss 血量读表
comTeam.bossHp = 10000;
comTeam.bossHp = getBossHpByBlueprtId(blueprtId) || 10000;
let roleStatus = new RoleStatus();
roleStatus.heroes = heroes;
@@ -97,17 +96,20 @@ export class ComBattleHandler {
async joinTeam(msg: {teamCode: string, isFrd: boolean}, session: BackendSession) {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
console.log('teamMap:' + JSON.stringify(this.teamMap));
let { teamCode, isFrd } = msg;
let teamStatus = this.teamMap.get(teamCode);
if (!teamStatus || teamStatus.status !== 0 || teamStatus.roleIds.length === 3) return resResult(STATUS.COM_BATTLE_MEMBER_LIMIT);
if (teamStatus.roleIds.indexOf(roleId) !== -1) return resResult(STATUS.COM_BATTLE_DUP_ENTER);
// TODO:助战等级限制,等表
// TODO: 助战次数限制
let { lv, headHid, topFiveCe } = await Role.findByRoleId(roleId);
let { quality } = getGoodById(teamStatus.blueprtId);
let { assistanceLevel } = getComBtlSetByQuality(quality);
if (lv < COM_TEAM_ENABLE_LV) {
return resResult(STATUS.COM_BATTLE_LV_NOT_ENOUGH);
} else if (lv < assistanceLevel) {
return resResult(STATUS.COM_BATTLE_ASSIST_LV_NOT_ENOUGH);
} else if (topFiveCe < teamStatus.ceLimit) {
return resResult(STATUS.COM_BATTLE_CE_LIMIT);
}